この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン | |||
ch_syntax [2020/07/11 05:16] klab [ブロックとメソッド] |
ch_syntax [2020/07/11 05:22] (現在) klab [中置記法] |
||
---|---|---|---|
ライン 107: | ライン 107: | ||
中置記法とメッセージ送信記法のもう1つの違いは、中置記法の中では名前は変数を表す、ということである。これに対し、メッセージ送信記法の中では直接変数を書けるのは「!」の左側だけであり、「!」の右側では名前はメソッド名として扱われる。したがって、パラメータなどで変数を指定したい場合は「(…)」で囲む必要がある(囲んだ中は中置記法にできるため)。たとえば、中置記法の「x+y」をメッセージ送信記法で書くと「x!(y)足す」になるが、この「(y)」は丸かっこの中に(「!」がないため)中置記法が書かれているものとして扱われている。 | 中置記法とメッセージ送信記法のもう1つの違いは、中置記法の中では名前は変数を表す、ということである。これに対し、メッセージ送信記法の中では直接変数を書けるのは「!」の左側だけであり、「!」の右側では名前はメソッド名として扱われる。したがって、パラメータなどで変数を指定したい場合は「(…)」で囲む必要がある(囲んだ中は中置記法にできるため)。たとえば、中置記法の「x+y」をメッセージ送信記法で書くと「x!(y)足す」になるが、この「(y)」は丸かっこの中に(「!」がないため)中置記法が書かれているものとして扱われている。 | ||
- | 中置記法の中で使える演算子としては、**+**(足す)、**-**(引く)、*****(掛ける)、**/**(割る)、**%**(余り)がある(かっこ内はメソッドとして使うための名称)。このほか、比較演算子**==**(eq)、**!=**(ne)、**>**(gt)、**>=**(ge)、**<**(lt)、**<=**(le)もある。 | + | 中置記法の中で使える演算子としては、**+**(足す)、**-**(引く)、*****(掛ける)、**/**(割る)、**%**(余り)がある(かっこ内はメソッドとして使うための名称)。このほか、比較演算子**==**(eq)、**!=**(ne)、**>**(gt)、**>=**(ge)、**<**(lt)、**<=**(le)もある。 |
また、中置記法の中では関数記法が使える。たとえば、「sqrt(2)」は「2!sqrt」の略であり、そのほか任意のパラメータなしのメソッド「オブジェクト!メソッド」を「メソッド(オブジェクト)」の形で書くことができる。 | また、中置記法の中では関数記法が使える。たとえば、「sqrt(2)」は「2!sqrt」の略であり、そのほか任意のパラメータなしのメソッド「オブジェクト!メソッド」を「メソッド(オブジェクト)」の形で書くことができる。 |