知ってる人は知っているRubyの便利な6つのライブラリ

1.k, y = [1, 2]

 >k, y = [1, 2] #こうすることで
 >k = 1
 >y = 2

 
2.class << hoge

 >class << hoge  #とすると
 > def fuga
 >  puts "nyan"
 > end
 >end
 >hoge.nyan 
 > => "nyan"   #とその変数にのみのメソッドを定義する事ができる

 
3.hoge ||= {}

 >hoge = nil
 >hoge ||= {}     #とすると
 > => {}       #となる
 >hoge ||= "we are"  #とすると
 > => {}       #hogeの値は変わらない
 >hoge = false    #つまり
 >hoge ||= 
 > => 
       #偽の時のみ設定される。

 
4.module_eval

 >class Hoge
 > def define_method name
 >  Hoge.module_eval %-
 >   def #{name}
 >    fuga
 >   end
 >  -
 > end
 > def fuga
 >  puts "hoge--"
 > end
 >end
 >hoge = Hoge.new  #Hogeクラスを作成
 >hoge.define_method "aaaa" #aaaaメソッドが作成される
 >hoge.aaaa
 > => "hoge--"   #内部でfugaメソッドが呼ばれる

 
5.case

 >hoge = false
 >fuga = false
 >case         #普通は「case hoge」など書くが...
 > when fuga == true
 >  puts "ほげー"
 > when hoge == false
 >  puts "ふがー"
 > else
 >  puts "おりゃー"
 >end
 > => "ふがー"     #つまり最初に真になるものが実行される(Lispだとcond)

 
6.def hoge(*fuga)

>class Hoge
> def fuga(*value)            #ポインタではないので注意!
>  value
> end
>end
>hoge = Hoge.new
>hoge.fuga ["aa", "bb"], ["cc"], "eee"
> => [ ["aa", "bb"], ["cc"], "ee"]    #引数に配列で渡される、つまり何個でも渡せる。

 
 
何でもできるRuby。プログラミングが楽しくなるRuby
その分、難しいRuby。それが魅力のRuby