Index: [Article Count Order] [Thread]

Date:  Tue, 11 Jul 2000 23:24:38 +0900
From:  Yutaka Kamite <y-kamite@....jp>
Subject:  [XP-jp:00613] Re: XP Installed26 Part3 Test-first, by Intetion
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <396B2D53246.0130Y-KAMITE@....jp>
In-Reply-To:  <B58EB6C0.24A1%khosokawa@....com>
References:  <393A74CD39A.1D20Y-KAMITE@....jp> <B58EB6C0.24A1%khosokawa@....com>
Posted:  Tue, 11 Jul 2000 23:21:07 +0900
X-Mail-Count: 00613

ホソカワさん、上手です。
詳しい方のコメントがつくまで、ツナギでコメントしておきます。
#まだ動かし始めたばかりで、よくわからない。

On Sun, 9 Jul 2000 23:12:04 +0900
Kaoru Hosokawa <khosokawa@....com> wrote:

> ホソカワです。
> 
> Javaへの変換、試みてみました。Smalltalkをちゃんと理解していないので、変なと
> ろがあります。
> 
> > <Smalltalk>
> > === Page 197 Code 2
> > 
> > ..SummarizerTest
> > 10:43:06
> > testABC
> > "self unsafRun:#testABC"
> > |summarizer summary|
> > summarizer:=self abcSummarizer.

> > 
> > </Smalltalk>
> > 
> > 
> <Java>
> === Page 197 Code 2
> 
> --SummarizerTest
> 10:43:06
> 
>     public void testABC() {
>         Summarizer summarizer;
>         Summary summary;
> 
>         summarizer = abcSummarizer();
>         summary = summarizer.summary();
> 
>         assert(summary.size() == 3);
>         assert(summary.first().name() == "a");
>         assert(summary.first().amount() == 11);
>         assert(summary.at(2).name() == "c");
>         assert(summary.at(2).amount() == 2);
>         assert(summary.last().name() == "b");
>         assert(summary.last().amount() == 3);
>     }
> 
> 解説:
> 「"self unsafeRun:#testABC"」は、なんですか?変換していません。

””の中はコメントですので深い意味はなさそうです。
# は定数(リテラル)を示しますので、
self(自分の)unsafeRun メソッドを testABC のメソッド名を引数に呼び出すと
いうことになりますが、メモですかね。

> > 
> > === Page 200
> > 
> > Chet は collection に対するループを書く。要素をどう処理するかちょっと考え
> > てから、 processItem: の意向を宣言することを思い出して、続ける。
> > 
> > <Smalltalk>
> > === Page 200 Code 1
> > 
> > ___Summarizer
> > 10:52:32
> > process:aCollection
> > aCollection do:[:each|self processItem:each]
> > 
> > 解説:
> > お願いします。
> > 
> > </Smalltalk>
> > 
> 
> ここは、私のSmalltalkの知識を超えています。援助お願いします!eachは、なんで
> しょうか?
> 
> <

do: は集合の全ての構成要素に同じ操作を行います。each: は | の後のコードで
各要素を参照するために、 each を使うことを示します。

例えば 配列に対して以下とすると

#(1 2 3 4 5)
do:[:each| Transcript show: each printString;cr].

出力は
1
2
3
4
5

となります。

(では)

> -- 
> Kaoru Hosokawa
> khosokawa@....com