文は()
を使わないとメソッドの引数にできない式の別称である。らしいよ?
成果物
情報源
プログラム・文・式
- プログラムは式を並べたものです
- 式は評価されると値が定まり、それを返します
- 文はメソッドの引数に指定できない式の別称です
- 例
and
/or
/not
if
/unless
/rescue
修飾式など
- 括弧によるグルーピングを行うことで式として使用できる
- 例
やっと「プログラム」「文」「式」の定義が出てきた。
式
- プログラムは式を並べたものです
- 式と式の間はセミコロン(;)または改行で区切ります
- ただし、バックスラッシュに続く改行は文の区切りにならず、次の行へ継続します。
print "hello world!\n"
x=1; y=2; p x; p y;
x = \ 'X'
x = 1 +\ 2
文の区切りにならず、
なぜここにきて式でなく文という語を使うのか。混乱する。式の区切りにならず、でいいのでは?
例
Rubyの式には以下のようなものがある。
さらに以下のような特徴がある。
- 式は括弧によってグルーピングできる
- 式は評価されると値が定まり、それを返す
- ただし、
return
、break
,next
は値を返さず、評価された時点で制御が移る
- ただし、
- 空の式 () は
nil
を返す - メソッドの引数に指定できない式と、指定できる式がある
- 指定できない式を「文」と呼び分ける場合がある
and
/or
/not
if
/unless
/rescue
修飾式など- 括弧によるグルーピングを行うことで式として使用できる
ええと、つまりif
修飾子をもちいたものは修飾式?というもので、それは「文」と呼ぶことがあるってこと? はぁ? 結局、式なのか文なのか。名前的には式っていっているようだけど?
ていうか、「if
修飾子」だよね? いきなり「if
修飾式」とかいう新しい言葉が出てきたんですけど。言葉の定義がされないまま次々と出てくる。混乱する。
以下は文ってことでいいの?
p 'OK' if is_ok
それとも文と式の違いは雰囲気で呼び分けているだけ? そんなに気にしなくていいの?
プログラムの終り
あまり意識しなくてよさそう。__END__
とかいつ使うの? なんか嬉しいことある?
所感
Rubyはほぼすべて式。式は値を返すもの。
それだけ覚えておけば良さそうな気がする。
対象環境
- Raspbierry pi 4 Model B
- Raspberry Pi OS buster 10.0 2020-08-20 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 5.10.52-v7l+ #1441 SMP Tue Aug 3 18:11:56 BST 2021 armv7l GNU/Linux