#define each(%1, %2) foreach %1:%2=%1(cnt) Numbers = 2,4,6,8,10 Names = "イ", "ロ", "ハ", "ニ", "ホ" each Names, Name put = Name + ":" each Numbers, Number put += Number loop mes put loop
-----------------------------------
each p1, p2
p1=変数 : ループ対象となる変数
p2=変数 : ループ対象の要素を代入する変数
p1の配列変数に格納されている要素の数だけ繰り返しを行います。
eachは、repeat命令と同様にループ開始場所に記述し、 ループの終了場所にloop命令を記述します。
-----------------------------------
この命令の問題点は、ループ内でp2に対して代入しても、
元データ(p1)には反映されないこと。
メモリアドレスを割り当てるなどして、p2に代入するとp1にも代入されるようにするべきか?
そもそも Ruby や Lua ではどのような仕様になっているか、忘れてしまった…。
カテゴリは「ひとりごと」ですが、改善案や 上記問題点の解決法や
Ruby および Lua ではどういう仕様か、思い思いにお書きくだされば幸いです。