tag:blogger.com,1999:blog-7003251064971894280.post4411722207548247256..comments2022-03-24T00:25:59.400+09:00Comments on 林檎生活100: Smalltalk入門.オブジェクト指向の始祖だよね.Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-7003251064971894280.post-34213647531206791702008-01-22T19:38:00.000+09:002008-01-22T19:38:00.000+09:00そうですね.GNU Smalltalkでやってみた成果をできる限り公開していければなぁと思います.S...そうですね.GNU Smalltalkでやってみた成果をできる限り公開していければなぁと思います.<BR/><BR/>Smalltalkの情報が少しでも増えれば,興味を持つ人も増えてくれるはずですしね♪Takuya Tsuchidahttps://www.blogger.com/profile/11290873995971470141noreply@blogger.comtag:blogger.com,1999:blog-7003251064971894280.post-39339593574040890122008-01-22T00:07:00.000+09:002008-01-22T00:07:00.000+09:00いえいえ。名前の件はお気になさらずに。私も Smalltalk の情報の少なさ、特にネットでの露出の...いえいえ。名前の件はお気になさらずに。<BR/><BR/>私も Smalltalk の情報の少なさ、特にネットでの露出の少なさは以前から気になっているところです。<BR/><BR/>そんなわけで、TSUCHIDA さんもよければ是非、GNU Smalltalk での試行錯誤の過程と成果をどんどんブログにエントリーしてください!sumimhttps://www.blogger.com/profile/17529883700925132327noreply@blogger.comtag:blogger.com,1999:blog-7003251064971894280.post-12889266900863909662008-01-21T08:18:00.000+09:002008-01-21T08:18:00.000+09:00すみません.最初のコメントで「suminさん」とかいてますね.失礼しました.「sumimさん」ですよ...すみません.最初のコメントで「suminさん」とかいてますね.失礼しました.「sumimさん」ですよね.Takuya Tsuchidahttps://www.blogger.com/profile/11290873995971470141noreply@blogger.comtag:blogger.com,1999:blog-7003251064971894280.post-52474486470715601522008-01-21T08:15:00.000+09:002008-01-21T08:15:00.000+09:00たしかにマニアックなかんじですねwでも,そこに惹かれてしまいます.コードを短くっていう方向だけじゃな...たしかにマニアックなかんじですねwでも,そこに惹かれてしまいます.<BR/><BR/>コードを短くっていう方向だけじゃなく,あえてトリッキーに書くというのは面白そうですね.sumimさんからコメントにいただいたプログラムのように,Smalltalkらしい読みやすい書きかたというのも重要ですね.<BR/><BR/>それにしても,Smalltalkはこれほど興味深いのに,日本ではあまり情報がないような気がしますね.僕のまわりでもSmalltalkを知っている人はいますが,書いたことがあるという人はいないみたいです.僕としては,Prologに出会ったとき以来のエキサイティングな言語なんですけどねぇ.Takuya Tsuchidahttps://www.blogger.com/profile/11290873995971470141noreply@blogger.comtag:blogger.com,1999:blog-7003251064971894280.post-66903376585447273632008-01-20T15:09:00.000+09:002008-01-20T15:09:00.000+09:00FizzBuzz の一般化とかの記事ですかね。あれはマニアックに過ぎるのでスルーしていいと思います(...FizzBuzz の一般化とかの記事ですかね。あれはマニアックに過ぎるのでスルーしていいと思います(^_^;)。<BR/><BR/>ただ FizzBuzz 自体は意外と奥が深いので、それぞれの言語(この場合 Smalltalk)の特徴をいかした書き方を、頭を柔らかくしていろいろと考えて、じっさい動作するか試してみるのも面白いし、勉強になると思います。sumimhttps://www.blogger.com/profile/17529883700925132327noreply@blogger.comtag:blogger.com,1999:blog-7003251064971894280.post-7972323132085561942008-01-20T09:21:00.000+09:002008-01-20T09:21:00.000+09:00おおぉ,すばらしい.FizzBuzzの結果を文字列として返すメソッドasFizzBuzzをInteg...おおぉ,すばらしい.<BR/><BR/>FizzBuzzの結果を文字列として返すメソッドasFizzBuzzをIntegerに追加して,1から100までの結果を出力.<BR/><BR/>asFizzBuzzは,文字列ストリームに3で割り切れるなら'Fizz',5で割り切れるなら'Buzz'を追加して,文字列ストリームが空だったら,自分自身を返し,文字列ストリームが空じゃなかったら文字列ストリームの中身を返す.<BR/><BR/>という感じでしょうか.'FizzBuzz'という文字列がプログラム中に現れないのがすごい.とかなんとか思っていたら,suminさんの<A HREF="http://d.hatena.ne.jp/sumim/" REL="nofollow">sumim’s smalltalking-tos</A>のFizzBuzz関連のエントリを見てさらにびっくり.いやぁ,まだ僕の力では理解できそうにありません.Takuya Tsuchidahttps://www.blogger.com/profile/11290873995971470141noreply@blogger.comtag:blogger.com,1999:blog-7003251064971894280.post-31032442077173005592008-01-18T11:35:00.000+09:002008-01-18T11:35:00.000+09:00お邪魔します。いろいろと方法はありそうですが、こんなのはいかがでしょう。(インデントは全角スペースな...お邪魔します。いろいろと方法はありそうですが、こんなのはいかがでしょう。(インデントは全角スペースなので置き換えてください)<BR/><BR/>Integer extend [<BR/> asFizzBuzz [<BR/> | stream |<BR/> stream := String new writeStream.<BR/> self \\ 3 = 0 ifTrue: [stream nextPutAll: 'Fizz'].<BR/> self \\ 5 = 0 ifTrue: [stream nextPutAll: 'Buzz'].<BR/> ^stream isEmpty<BR/> ifTrue: [self printString]<BR/> ifFalse: [stream contents]<BR/> ]<BR/>]<BR/><BR/>1 to: 100 do: [:n | n asFizzBuzz printNl]sumimhttps://www.blogger.com/profile/17529883700925132327noreply@blogger.com