Rubyを触ってみる 6限目
自衛隊前の工事が慌ただしい。
残る時計回り側の車線、進んできたねぇ。側溝は潰すんだろう、暗渠とできないだろうし...そうか、中央分離帯にでもなるのかな? バスは楽になりそうだねぇ、停留所はあるよね?
さて、昨日でてきた Enumerator について。
スライドによるとこういうのらしい。
- Ruby 1.9 で登場
- 並び構造からデータを1つづつ取り出す
- Enumerable構造のラッパー
- 外部イテレータとしての機能を提供
んー、イテレータってことは 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は、まあ見た目で分かるわ。 ピンでとまるみたいだけど、全部やるのもきっとあるよね。
何も工夫も検証もしてないでスライドのまんまだけど。 今日も短めにここまで。