メモ
- 作者: Dave Thomas,Chad Fowler,Andy Hunt,まつもとゆきひろ,田和勝
- 出版社/メーカー: オーム社
- 発売日: 2006/08/26
- メディア: 大型本
- 購入: 7人 クリック: 270回
- この商品を含むブログ (152件) を見る
命名規則
ローカル変数・メソッド引数・メソッド名 | 全て小文字またはアンダースコア(_) |
グローバル変数 | ドル記号($) |
インスタンス変数 | アットマーク(@) |
クラス変数 | アットマーク2つ(@@) |
クラス名・モジュール名・定数 | 先頭文字を大文字 |
複数の単語からなるインスタンス変数は単語の間をアンダースコア
複数の単語からなるクラス名はキャメル名
配列
irb(main):021:0> a[0] => 1 irb(main):022:0> a[1] => "hoge" irb(main):023:0> a[2] => 2 irb(main):024:0> a[3] => nil irb(main):025:0> a[-1] => 2 irb(main):026:0> a[-2] => "hoge" irb(main):027:0> a[-3]
%w による配列作成
a = %w{1 hoge 3.14}
ハッシュ
hash = { :key1 => 'value1', :key2 => 'value2', :key3 => 'value3' } => {:key3=>"value3", :key2=>"value2", :key1=>"value1"} hash[:key1] => "value4"
同じキーは後ろが有効
hash = { :key1 => 'value1', :key2 => 'value2', :key3 => 'value3', :key1 => 'value4' } => {:key3=>"value3", :key2=>"value2", :key1=>"value4"}
デフォルト値を0にする場合
hash = Hash.new(0) hash[:hoge] => 0
正規表現
"abcdefgabcdefg".sub(/cde/, 'CDE') => "abCDEfgabcdefg" "abcdefgabcdefg".gsub(/cde/, 'CDE') => "abCDEfgabCDEfg"
コードブロック
#ブレース型 { puts 'hello' } #do/end型 do puts 'hello' end
ブレースのほうが結合力が強い。
1行のブロックにはブレースを、複数行のブロックは do/end を使うといい
def block puts 'start' yield yield puts 'end' end block { puts "block" } #結果 start block block end => nil
パラメータ付き
def block puts 'start' yield('hoge1', 'hoge2') yield('hoge3', 'hoge4') puts 'end' end block {|param1,param2| puts "param1=" + param1 + ", param2=" + param2 } #結果 start param1=hoge1, param2=hoge2 param1=hoge3, param2=hoge4 end => nil
colors = %w{ blue black white green } colors.each{|color| puts color} #結果 blue black white green => ["blue", "black", "white", "green"]
printf
printf('test%d %s', 12345, 'hoge')