Ruby

Ruby evalを使った配列の要素の足し算

eval関数は、evalに与えた引数をプログラムとして扱えるもの。

irb(main):026:0* eval("puts \"abcde\"")
 abcde

「/」は、エスケープ。
evalの引数である puts "abcde" が実行されている。

 

eval関数を使って、配列の全要素の足し算等、四則演算もできる。

足し算

irb(main):020:0> a=eval([1,2,3,4,5]*?+)
 => 15
irb(main):022:0> puts a
 15

 eval([1,2,3,4,5]*?+)  
の「*?」の部分で配列の要素に対しての意味と思われる。
そして最後の「+」で全要素全てに足し算を実行する。

掛け算

irb(main):027:0> a=eval([1,2,3,4,5]*?*)
 => 120

最後の演算子が「*」なので、全ての要素を掛け算する。

割り算

 irb(main):032:0> a=eval([100,2,2]*?/)
 => 25

 最後の演算子が「/」なので、全ての要素を割り算する。  

引き算

irb(main):033:0> a=eval([100,2,2]*?-)
 => 96

 最後の演算子が「-」なので、全ての要素を割り算する。 

-Ruby