豊福@パパイヤです。

  CLU を全然知らないもので

前田さん
> CLUのイテレータは、
> for i: int in array[int]$elements(ary) do
>   ...
> end
> のように、Rubyのfor文とイテレータを組み合わせたような形になってい
> ます。(というよりRubyが分解したというべき?)

この「組み合わせた」の意味がわからなかったんですが、

まつもとさん
> CLUのforはイテレータを指定できるという点でRubyのforとは違い
> ます.

上の例ではもしかして elements() というのがメソッドなんですか?
Ruby の {|i| } の部分が CLU では for i in としか書けないという
ことですかね。そうだとすると確かに
  前田さん
  > この構文で繰り返し以外のことをするのは気持ち悪いですよね。
かもしれませんね。でもこれは馴れの問題かな。


前田さん
> あと、CLUのforは文なので関数のように値を返せません。

まつもとさん
> 一方,イテレータの戻り値を使えない(更に言えば,ブロッ
> クの評価値を使えない)ので,Rubyのイテレータの使われ方のうち
> かなりの部分に適用できません.

  こちらの方が使い勝手に影響しそうですね。
---
                        豊福@パパイヤ
                        unbound / papaya.juice.or.jp
                        toyofuku / juice.or.jp