« 連載: Smalltalk use: better《4》3つの基本要素:変数★ | トップページ | 連載: Smalltalk use: better《6》万能メソッド★ »

2006年5月12日 (金)

連載: Smalltalk use: better《5》3つの基本要素:式★

キーワード ◆ キーワード ◆ キーワードセレクター・セレクター・メッセージ式・リテラル・括弧・単項セレクター・二項セレクター・変数・優先順位

※ PDF でご覧になるなら ⇒ 「piyo60512.pdf」をダウンロード

------------ 序 ------------

多ければいいというわけではない
だからといって少なすぎても良くない

Kent Beck

◆ 英語には、基本となる5文型があります。古典的なニュートン力学には、運動に関する3つの法則があります。素粒子物理学の世界では、3つの基本的な力(強い力、弱い力、電磁)を統一する理論の構築が期待されています。かつて、電気と磁気とは別物として扱われていました。やがて、電磁相互作用が解明されると、これらは電磁気として統合されました。つまり、より単純で強力な概念モデルが構築されるに至ったのです。それぞれを区別するものは何か。

◆ オブジェクトを表現する3つの要素は、リテラル、変数、メッセージ式です。それぞれの違いは何か。これらに共通するものは何か。これらを正確に把握することが、真の理解へと繋がります。

------------ 本文 ------------

◆ Smalltalk のプログラムを構成するのは、次の3つの基本要素です。

  1. リテラル
  2. 変数
  3. メッセージ式

共通するのは「これらを評価すると、オブジェクトが得られる」ということです。

◆ すべてのメッセージ式は、セレクターの種類によって3つに分類できます。セレクターとは、メッセージを識別するための情報で、関数やメソッドの名前とは、似て非なるものです。一般に、メッセージは、(1つの)セレクターと(任意の)引数との組み合せによって構成されます。これらは、優先順位の高いほうから順に、単項セレクター二項セレクターキーワードセレクターに分類されます。

3 + 4 factorial          "27"

60512a_1 単項と二項 ◆ この式には、2つのセレクターが存在します。単項セレクターの方が優先順位が高いので、先に、factorial が評価されます。式 4 factorial を評価すると、24 が得られます。次に、+ が評価されます。式 3 + 24 を評価すると、27 が得られます。

(3 + 4) factorial          "5040"

60512b_1 括弧 ◆ ()を使うと、式を評価するときの優先順位を変更できます。まず、式 3 + 4 を評価すると、7 が得られます。次に、式 7 factorial を評価すると、5040 が得られます。

3 lcm: 4 factorial          "24"

60512c_2 単項とキーワード ◆ 単項セレクターの方が優先順位が高いので、先に、式 4 factorial を評価すると、24 が得られます。次に、式 3 lcm: 24 を評価すると、24 が得られます。

3 lcm: 4 + 5          "9"

60512d_2 二項とキーワード ◆ 二項セレクターの方が優先順位が高いので、先に、式 4 + 5 を評価すると、9 が得られます。次に、式 3 lcm: 9 を評価すると、9 が得られます。

3 + 4 * 2          "14"

60512e_1 二項と二項 ◆ 二項セレクターの間では優先順位が等しいので、左から右へと順に評価されます。先に、式 3 + 4 を評価すると、7 が得られます。次に、式 7 * 2 を評価すると、14 が得られます。

3 lcm: 4 factorial - 5          "57"

60512f_1 単項と二項とキーワード ◆ 先に、式 4 factorial を評価すると、24 が得られます。次に、式 24 - 5 を評価すると、19 が得られます。さらに、式 3 lcm: 19 を評価すると、57 が得られます。

(3 lcm: 4) gcd: 18          "6"

キーワードとキーワード ◆ 複数のキーワードセレクターを記述するときには、括弧を使って、それぞれの区切りを明記します。先に、式 3 lcm: 4 を評価すると、12 が得られます。次に、式 12 gcd: 18 を評価すると、6 が得られます。括弧を省略すると、これらは単一のキーワードセレクター lcm:gcd: が記述されたものと見なされ、エラーとなります。

==================================
真樹育未 著 ◆ 監修:小泉ひよ子とタマゴ倶楽部

|

« 連載: Smalltalk use: better《4》3つの基本要素:変数★ | トップページ | 連載: Smalltalk use: better《6》万能メソッド★ »

Squeak/Smalltalk」カテゴリの記事

.連載: Smalltalk use: better」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: 連載: Smalltalk use: better《5》3つの基本要素:式★:

« 連載: Smalltalk use: better《4》3つの基本要素:変数★ | トップページ | 連載: Smalltalk use: better《6》万能メソッド★ »