削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎キーワード: Crystalのキーワード( ''keywords'' ) は、以下の通り。 <code>abstract</code> <code>alias</code> <code>as</code> <code>asm</code> <code>begin</code> <code>break</code> <code>case</code> <code>class</code> <code>def</code> <code>do</code> <code>else</code> <code>elsif</code> <code>end</code> <code>ensure</code> <code>enum</code> <code>extend</code> <code>for</code> <code>fun</code> <code>if</code> <code>include</code> <code>instance_sizeof</code> <code>lib</code> <code>macro</code> <code>module</code
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
→‎演算子: 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年版ソースエディター
615 行
<code>__DIR__</code> <code>__END_LINE__</code> <code>__FILE__</code> <code>__LINE__</code>
-->
 
== 演算子 ==
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 のメソッド + を呼び出すことになります。
 
{| class="wikitable"
|+ 演算子の優先度
!種類
!演算子
|-
|インデックス アクセサー
|<code>[]</code>, <code>[]?</code>
|-
|単項
|<code>+</code>, <code>&+</code>, <code>-</code>, <code>&-</code>, <code>!</code>, <code>~</code>
|-
|指数
|<code>**</code>, <code>&**</code>
|-
|乗除
|<code>*</code>, <code>&*</code>, <code>/</code>, <code>//</code>, <code>%</code>
|-
|加減
|<code>+</code>, <code>&+</code>, <code>-</code>, <code>&-</code>
|-
|シフト
|<code><<</code>, <code>>></code>
|-
|ビット間 AND
|<code>&</code>
|-
|ビット間 OR/XOR
|<code><nowiki>|</nowiki></code>,<code>^</code>
|-
|等値
|<code>==</code>, <code>!=</code>, <code>=~</code>, <code>!~</code>, <code>===</code>
|-
|比較
|<code><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code><=></code>
|-
|論理 AND
|<code>&&</code>
|-
|論理 OR
|<code><nowiki>||</nowiki></code>
|-
|Range
|<code>..</code>, <code>...</code>
|-
|条件
|<code>?:</code>
|-
|代入
|<code>=</code>, <code>[]=</code>, <code>+=</code>, <code>&+=</code>, <code>-=</code>, <code>&-=</code>, <code>*=</code>, <code>&*=</code>, <code>/=</code>, <code>//=</code>, <code>%=</code>, <code><nowiki>|=</nowiki></code>, <code>&=</code>,<code>^=</code>,<code>**=</code>,<code><<=</code>,<code>>>=</code>, <code><nowiki>||=</nowiki></code>, <code>&&=</code>
|-
|スプラット
|<code>*</code>, <code>**</code>
|}
 
== 制御構造 ==