Skip to content
muryoimpl edited this page Jan 2, 2012 · 1 revision

第0回 Ruby/Rails勉強会@関西 (運営: 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 を読み込むようにするとか(安直)
  • 京女、ダム女、同女...
Clone this wiki locally