Aruyo

Rubyを触ってみる 6限目

昨日でてきた Enumerator について。
スライドによるとこういうのらしい。

  1. Ruby 1.9 で登場
  2. 並び構造からデータを1つづつ取り出す
  3. Enumerable構造のラッパー
  4. 外部イテレータとしての機能を提供

んー、イテレータってことは foreach の親戚よね。
まあ、追々とな。

次。

前回はだいぶ分別したけどまだ表の作成を数値の埋め込み部でもやってたから、よりはっきりとわかりやすく分離をすすめた例らしい。


N = 9
kuku = (1..N).map{|i| (1..N).map{|j| i * j}}
e_kuku = kuku.flatten.to_enum

line = "+---" * N + "+\n"
cell = "|***" * N + "|\n"
table = (line + cell) * N + line

(N * N).times { table.sub!("***", "  #{e_kuku.next}"[-3..-1]) }

print table

うん、なんかすっきりした。 subは、まあ見た目で分かるわ。 ピンでとまるみたいだけど、全部やるのもきっとあるよね。

何も工夫も検証もしてないでスライドのまんまだけど。 今日も短めにここまで。