[SML 7483] Re: ブラックブック買いました

AOKI Atsushi atsushi @ cc.kyoto-su.ac.jp
2009年 3月 4日 (水) 10:28:15 JST


青木@京都産業大学です。

sunao furukawa さんは書きました:
>  遅ればせながら、ブラックブックこと「Smalltalkで学ぶオブジェクト指向プ
> ログラミングの本質」を今日購入しました。近所の書店で注文してバレンタイン
> デーの今日購入できて、まるで誰かからブラックチョコレートをプレゼントされ
> たような感じです。

ブラックチョコ(ブラックブック)をバレンタインデーに買い求め
ていただきまして有り難うございます。

>  そんな私が今日買ったブラックブックの中で一番興味深かったところはバイト
> コードのところです。

Smalltalk は仮想マシンの門からくぐってゆくのが王道だろうと思
います。時間はかかりますが、プログラミングの粋や花に遭遇でき、
とてもおすすめです。

>  私は、住所は岩手なので東京や京都での勉強会には出席するのは残念ながらか
> ないませんが、勉強会の資料などがありがたくも公開されているのでこれからも
> 勉強会の内容や様子をそのような形で知ることができれば幸せです。これからも
> 勉強会が盛り上がることを祈っています。

私の妻が盛岡出身なので、岩手に足を運ぶ機会が多々あります。こ
れから相まみえることもあろうかと思いますので、よろしくです。

今夜「第5回 Smalltalk 勉強会@京都」があります。ブラックブッ
クの第3章の基本的な文法のところを、時間をかけて進めています。

おそらく、今夜は「変数」のあたりが主題になり、順調ならば「ブ
ロック」までゆくかどうか、というところだと思います。

そう言えば、特殊変数(模擬変数や擬似変数もしくはシュード変数
と呼ばれることがあります)のくだりで、昨年8月に東京電機大学
の久保田吉彦さんからご指摘がありました。

87ページのプログラムに間違いがあるのです。「it sender」の
部分を「it」だけに改めていただけると幸いです。正しくは以下。

| aContext aBlock |
[:aClass :thisMessage |
aContext := thisContext.
aBlock := [:context |
(aClass == context receiver class and: [thisMessage == context selector])
    ifTrue: [^true].
context sender ifNotNil: [:it | aBlock value: it]].
aBlock value: aContext sender.
^false]
    value: TextEditorController
    value: #printIt

改めないと、コンテクストチェインを飛び飛びに追ってしまうこと
になりますね。ご指摘を有り難うございました、久保田さん。この
場を借りまして、皆さんにお知らせ、ということで。

------------------------------------------------------------
AOKI Atsushi          http://www.cc.kyoto-su.ac.jp/~atsushi/
> 



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