次のスクリプト(Ruby> = 1.9の場合)では、コマンドラインで指定された記号に対して文字列を画面に出力しようとしています。
これが私の試みです(SymbolsFromArgv.rb)
#!/usr/bin/env ruby
def switch_sybol(symbol)
case symbol
when :add
"Addition !"
when :mul
"Multiplication !"
else
"Unkown symbol #{symbol} !"
end
end
puts switch_sybol( :add )
puts switch_sybol( :mul )
puts switch_sybol( *(ARGV.collect {|elem| elem.to_sym}) )
しかし、私が起動すると:
$ ./SymbolsFromArgv.rb :mul
次の結果が得られます:
Addition !
Multiplication !
Unkown symbol :mul !
だから、なぜ「掛け算」が出なかったのか!最後の結果は?
前もって感謝します。