Create  FrontPage  Index  Search  Changes  Login

日本Rubyの会 公式Wiki - KansaiWorkshop0 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

! 第0回Ruby勉強会@関西

2004-11-27(土) @京都女子大学 14:30-

!! 勉強会
* ラーメン、カフェ
* エディタ
** emacs系
* メールクライアント
** IMAPサーバがあるので色々
** 本文を書くエディタが選べるやつじゃないと...
* JavaのGenerics
** RubyのはGenericsって言えないの?
*** コンパイル時型チェック?
* EclipseのGUIコンポーネント
* GTK

* 自己紹介
* BioRubyのプレゼン
** おぉぉ

* 小波さんのソース1
* ファイルのオープン/クローズ
     f = File.open(filepath)
     while f.gets
       ... $_ でゴニョゴニョ...
     end
     f.close
    Rubyに特化した学生を育てるわけにはいかないから、こうしている部分もあるわけだが...

    $_はちょっと...。
    クロージャなしはRubyの利点を捨ててるのでは?

    or
     File.foreach(filepath) do |line|
       ... line でゴニョゴニョ ...
     end
    もっともRubyらしい?(変数名は"line"じゃなくて"l"にする方がさらにRubyっぽくない?-- babie)

    おまけ:
     File::open(filepath) { |f|
       f.each_line do |line|
         ... line でゴニョゴニョ ...
       end
     }
    私はファイル書き込みと見栄えが似るのでこれをよく使う。"::"はクラスメソッドを意識(しかし美しいとは思わない)。-- babie

    ちなみに書き込みは、
     File::open(filepath, "w") { |f|
       f.puts "ゴニョゴニョ"
     }

* ARGF
* 語源は何?
    argument file?
* 由来は何?
** Perlの「<>」(ダイヤモンド演算子)相当?
* (福井さんの資料に続けて、) cat.rb みたいな何か
** print while gets
*** while 修飾子は使わないなぁ
** > ruby -pe'#' * (スクリプトレス、コードにはならない価値があr(略)

* 引数のワイルドカードの展開は誰が?
* mswin版はruby自体が。
* Unix版、cygwin版はシェル任せ。
** 1万ファイルぐらいあるとshellが音を上げる。

* スコープの話
* デフォルトでローカル変数になるのが良い。
Perlだとmyやuse strictを使ってくれない人がいて困る。
* ifではスコープが変わらないのではまったことがある。

* 多重代入を使うかどうか
    nchar = nrows = nlines = 0
これはString等の時、1つを変更すると全て変更されてしまうのでオススメできない。

or
    nchar, nrows, nlines = 0, 0, 0
or
    nchar = 0
    nrows = 0
    nlines = 0
番外:
    nchar, nrows, nlines = 0
この場合、nchar = 0, nrows = nil, nlines = nil。
nilで初期化していたので、今まで気づかなかった人も居たりして。

* ブロック/イテレータ
** 1行なら { ... }、複数行なら do ... end
** 繰り返しを意図する時は、do ... end、クロージャやブロック渡しを意図する時は { ... } を使うなぁ。-- babie

* 小波さんのソース2
* 日本語文の行幅揃え
** jcodeは?
** NKFは?
** 文字幅情報を持ってないと駄目では?
*** 半角カナとか

* 数値を3桁ずつ「,」で区切る
* Rubyレシピブック方式
     int.gsub(/(\d)(?=\d{3}+$)/, '\1,')
* RubyWay方式
     def commas(x)
       str = x.to_s.reverse
       str.gsub!("([0-9]{3})", "\\1,")
       str.gsub(",$", "").reverse
     end

!! ラウンジ
* 何をやるか
* 反省点
** 京都女子大の学生3人はさっぱりわからなかったのでは...
*** 1人はわかっていたらしい
** 勉強会と宴会の幹事は分けた方が良い
** テーマ決めてやった方が良さそう
*** Rubyレシピブックは細切れなので意外と選定が難しかった。

* win32ole
** 需要多そうだし、良ネタ。
* 2,3人が準備してネタ提供
** ネタを作りこむ時間が問題
*** RubyMagazineをテキストにするのはどうか?
**** これってRubyMagazine的に本望だなぁ
* 質問・相談というか、君ならどう書くネタ

* 会場
* 条件
** 最低20人収容
** 囲みテーブル(円卓)が欲しい。
** ネット接続環境もできれば欲しい
* 候補地
** 神戸女子大
*** 接続環境は良いが、地理的に毎回は無理な人が...
** 神戸 福井さんの会社
*** 他は良いが人数が厳しい(12-3名)
** 神戸デジハリ
*** 収容人数・環境良し。
**** しかし講義スタイル
** 新大阪 高木さんの会社
*** 収容人数・円卓・ネット接続はクリアできそう
*** 交渉待ち
* 京都/大阪/兵庫 でローテーションもいいかも
** 観光も兼ねて
* 毎回どっかの女子大

* MLへ持ち越し

* 開催日
* 12月って皆忙しくない?

* MLへ持ち越し

!! 飲み会
* 目的のある人はすごい
** プログラミングは素人だけど、MIDIを扱う自作ライブラリを書き上げた学生
** プログラミングは素人だけど、Postscriptの仕様書を読める学生
** こういう人をリクルートしたい
*** が、ウチの会社はオススメできない。
*** るびまで不定期に取り上げるとか。サクセスストーリーを準備するしか!

* ドキュメントの日本語->英語自動翻訳したい
** 日本語のフォーマットを定型に
** むしろ英語の方がドキュメント充実してない?
*** PickAxeの初版配布とかで。

* Ruby/SSH が欲しい。
    約2500台のマシンの設定をバックアップしたい
** Perlはあるらしい
** ptyでガシガシ作ってるが...
** expectじゃだめ?
*** コレもやってるが一元化したい(?)
** [[RAA:net-ssh]]

* SNMPのトリガーで異なるIPアドレス毎に処理をしたい。
** IPアドレス.rb を読み込むようにするとか(安直)
* 京女、ダム女、同女...

!! ご意見欄
{{bbs}}