]>
<< 初めてのPython(3) 14章 | main | 初めてのPython(4) 15~23章 >>
もっと式を入力してみましょう。
『3 + 5』 →( + 3 5 )
![]()
『4 x 3』 → ( * 4 3 )
![]()
『4 / 2』 → (/ 4 2)
![]()
『2 / 4』の場合は(/ 2 4)となります。
足し算の手続き『+』の場合は、( + 2 4 )も( + 4 2 )と順番を変えても一緒ですが、
『/』手続きがとる引数はその順序が決められています。
『√9』 → ( sqrt 9)
『sqrt』はもとから定義されている、引数のルートを計算してくれる手続きです。
![]()
『 | -3 | 』 → (abs -3)
『abs』は引数の絶対値を返します。
![]()
ここまででわかるとおり、手続きにはひとつの共通点があります。
それは必ずカッコのなかで先頭にくるということです。
処理系はカッコのなかで先頭に来た要素を手続きとして判断します。
さきほどの入力、( abs 3 )の順序を逆にしてみましょう。
![]()
『3』という手続きを、『abs』という引数に対して適用しようとしています。
これは、手続きとして『3』をもらったのに、『3』なんて手続き見つからないんですけど……というエラーです。
とりあえずここでは
『カッコの中で最初に来るのは手続き!そのあとに続くのは全部引数!』
と考えてください。
この手続きが先頭にきて、その後に引数を続ける記述方法を前置記法といいます。
http://www.panopticon.jp/mt/mt-tb.cgi/15
コメントする