「Crystal」の版間の差分
削除された内容 追加された内容
→演算子: Crystalは、1つ、2つ、または3つのオペランドを持つ数多くの演算子をサポートしています<ref>[https://crystal-lang.org/reference/1.5/syntax_and_semantics/operators.html Operators]access-date:2022-07-22</ref>。 演算子式は、実際にはメソッド呼び出しとしてパースされます。例えば、<code>a + b</code> は <code>a.+(b)</code> と意味的に同じで、引数 b を持つ a のメソッド + を呼び出すことになります。 タグ: 2017年版ソースエディター |
→Integer#times: Use p! タグ: 2017年版ソースエディター |
||
1,181 行
iter = 3.times
puts iter.class
p! iter.next
p! iter.next
p! iter.next
# puts iter.next # `next': StopIteration: iteration reached an end
</syntaxhighlight>
;実行結果:<syntaxhighlight lang="text">
Int::TimesIterator(Int32)
iter.next # => 0
iter.next # => 1
iter.next # => 2
iter.next # => #<Iterator::Stop:0x7fb5bedd7fe0>
iter.next # => #<Iterator::Stop:0x7fb5bedd7fe0>
iter.next # => #<Iterator::Stop:0x7fb5bedd7fe0>
</syntaxhighlight>
: Integer#times にブロックを渡さないと、Int::TimesIterator([T])オブジェクトが返ります。
|