RubyにおけるシーケンスはObject#repeatに任せなさい!
っていうか
@merborne Haskellではiterateという名前ですね URL
2012-07-15 14:30:10 via web to @merborne
なので、Scalaがiterateという名前なのは、Haskell(もしくはそれに近いその他の関数型言語)由来な気がします。
以下、もとのサンプルのいくつかを、なんとなくScalaで書いてみただけです。
ちなみに、Scalaの場合は、ListにもVectorにもStreamにもIteratorにもiterateメソッドがありますが、元のやつが遅延評価*1だったので、Iteratorのiterate使って、最後に表示するためにtoListしました。StreamやListのiterateでも(Listの場合、最初に長さ決めないといけないですが)同じようなことできます。
*1:なおかつtakeした際に評価されるのか?