ようやく読み始めました。

irbからコードを読み込む。

% irb
> load "hoge.rb"

RDocのコマンドラインからの表示。

% ri Hoge

とかなんかいろいろ。
でも説明全部英語…orz。

配列の作成

hoge = ['hoge0', 'hoge1', 'hoge2', 'hoge3']

とか、

hoge = %w{ hoge0 hoge1 hoge2 hoge3 }

とか。

ハッシュの作成

hoge_hash = {
  'hoge0' => 'foo0',
  'hoge1' => 'foo1'
}

制御構造の終わりはendで。

if hoge > 10
  puts "hogehoge"
elsif hoge >= 0
  puts "hoge"
else
 puts "bar"
end
while hoge
  puts "hoge"
end

パターンマッチ(正規表現)

irb(main):016:0> hoge = 'hohohohoge'
irb(main):017:0> foo = 'foooooooooooooooo'
irb(main):019:0> hoge =~ /hoge/               => 6     #マッチした位置を返す
irb(main):021:0> hoge.gsub(/ho/, 'bar')       => "barbarbarbarge" #マッチしたすべてを置換
irb(main):022:0> hoge.sub(/bar/, 'ho')       => "hobarbarbarge" #最初にマッチしたものを置換

コードブロック

def call_block
  yield('hoge')
end
call_block {|str| str.sub(/o/, 'a')} => "hage"

イテレータの実装に使われてるよ。

$_ (Perlの機能の流用)

  • getsメソッドで読み込んだ行が格納される。
  • printを引数なしで呼び出すと$_の中身が出力される。
  • if文やwhile文の条件部に正規表現だけを指定すると$_に対してマッチングが行われる。

他にもあったら追加。