[SML 7551] Re: 第7回Smalltalk勉強会@京都

濱崎治 osamu.hamasaki @ gmail.com
2009年 5月 16日 (土) 21:48:08 JST


こんばんは、濱崎です。
2009/05/16 10:11 toshihiko ichida <dogatana @ gaia.eonet.ne.jp>:

> いちだです。

<中略>

>
> 例えば Jun3Dimage というクラスの定義の冒頭には
>
> Smalltalk.Jun defineClass: #Jun3dImage
>        superclass: #{Jun.JunAbstractObject}
>
> とあり、名前空間としては Smalltalk.Jun に所属していますが、
> インスタンスを作成するときには
>  aImage := Smalltalk.Jun.3dImage new
> としなくても
>  aImage := 3dImage new
> とするだけでも 3dImage という名前のクラスのインスタンスを生
> 成できます。SmalltalkはデフォルトとしてもJunが省略できてし
> まうのは何故だろうという疑問です。


Junが特別なことをしているのは、青木さんからお答えがありましたが、
それ以外に、Workspaceで実行していらっしゃるのなら、Workspaceにも
仕掛けがあって、Namespaceの名前を前置しなくても全てのNamespaceに
ある共有変数を参照可能です。

WorkspaceのSmalltalkメニューに「Namespaces...」という項目のが有ります。
これを選択するとお判り頂けますが、デフォルトで全てのNamespaceがイン
ポートされていると思います。

ですので、Workspaceでメッセージ式を評価した場合は、名前空間の階層が
無いかのように振る舞います。

-----------

Osamu Hamasaki
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://www.smalltalk.jp/pipermail/sml/attachments/20090516/ebd26599/attachment.html


SML メーリングリストの案内