"$0 == __FILE__"やshift() について
if $0 == __FILE__の条件式を用いた場合、実行中のプログラムがコマンドライン引数で指定された時に真になる。偽であれば、if内は実行されず、このプログラムはライブラリとして使用される。
def func() #ライブラリとして実行される end puts("hello") if $0 == __FILE__ puts("実行中") end
shift()
配列の先頭を取り除いて、それを返す。残りの要素は元の配列に格納されたままになっているが、先頭の要素はない。
irb(main):004:0> a = [3, "aa", "bb"] => [3, "aa", "bb"] irb(main):005:0> p a.shift() 3 => 3 irb(main):006:0> a => ["aa", "bb"]