削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎クラス: 初期化メソッドの説明をシンプルなクラスに移動
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
→‎マ入れ子のp!: マクロ p! は入れ子に出来ます。また、一旦ASTに変換してから再度ソースコードに変換するので、等価な別の構文に変換されることがあります。
タグ: 2017年版ソースエディター
248 行
ary.map(&.<<(1)) # => [2, 4, 6]
ary.map(&.to_f) # => [1.0, 2.0, 3.0]
</syntaxhighlight>
 
===== 入れ子のp! =====
マクロ p! は入れ子に出来ます。また、一旦ASTに変換してから再度ソースコードに変換するので、等価な別の構文に変換されることがあります。
;入れ子のp!:<syntaxhighlight lang=crystal>
p! (
100.times{|i|
p! i
break i if i > 12
}
)
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
(100.times do |i|
p!(i)
if i > 12
break i
end
end) # => i
# => 0
i # => 1
i # => 2
i # => 3
i # => 4
i # => 5
i # => 6
i # => 7
i # => 8
i # => 9
i # => 10
i # => 11
i # => 12
i # => 13
13
</syntaxhighlight>