プログラムは原則として上から順番に1行ずつ実行されますね?
Thread
Login to reply
Replies (9)
実は1行の中でも実行順があって、
x = 1 + 2 + 3
があるとしますね?
右側が「式」です。式とは「評価」されると「値」になるもののことです。で、
評価 (=実行) には順番があります。まず部分式 1 + 2 が「評価」されて「値」が 3 になります。つまり、こう:
x = 3 + 3
次に式 3 + 3 が評価されて値が 6 になります。
x = 6
最後に x = 6、実はこれも「式」ですが、これは「評価」されると「副作用」が発生します。副作用っていうのは…うーんと…まあ省略するんですけど、ここでは代入です。つまり x に 6 がセットされる
で、副作用が発生したあと、x = 6 もやっぱり式なので評価されると値になって、これは全体が 6 になることになっています。なのでさっきの1行は最終的には
6
になって、実行終わりです。ついでに副作用として代入が実行されました
式は、決まった順番でちょっとずつ評価されていって、1回評価されるごとに 「副作用 (ないこともある) の発生」→「部分式が評価値に置き換えられる」が繰り返されます。
関数は、引数を渡されて「評価」されると「副作用」……っていうと怖い人が起こるんだけど説明の一貫性のためにそう言わせてもらうと、副作用として関数の中身が実行されます。で、評価値は返り値と同じになります
おわり!