2006-11-01から1ヶ月間の記事一覧
rubyco(るびこ)の日記 - コンマ区切りの文字列を逆順に を Squeak の Smalltalk で。 最初、任意の区切り文字を指定してトークンを切り出す #subStrings: を使えばいいのかな…と思ったのですが、これだと最後のカンマはともかく、途中の空欄も消えてしまい…
ふたたび ときどきの雑記帖 リターンズ - ここまでくると より、ネタをお借りして。 オーソドックスなループ版。 | string index count searchChar | string := 'I love cat and dog'. searchChar := $a. index := 0. count := 0. World findATranscript: ni…
ときどきの雑記帖 リターンズ - 平均と分散 を Squeak の Smalltalk で。Ruby と違って 平均を算出する #average が組み込み(?)で用意されているので、分散だけ計算させます。すでに課題のことは眼中にありません。あしからず。w | random data average var…
http://www.iam.unibe.ch/~scg/Teaching/Smalltalk/ Squeak3.9 でクロージャを扱えるようにするための機能拡張パッケージ、NewCompiler と AST のことを調べていたとき、こんなページを発見しました。Smalltalk と銘打っていますが、Squeak(の Smalltalk)…
3.9 の宣伝で(オプショナルながら)クロージャをサポート…みたいなことが書かれているのを見かけたので、どんなふうかと試してみました。いろいろと調べてみた結果、どうやら、SqueakMap 経由でインストールする必要があるらしく、3.9 で云々というのは、ち…
いじっていて気が付いた 3.9 のちょっといい機能 その1(って、続きがあるかわかりませんが…) ワークスペース変数は、その名のとおりワークスペースで使うことができる変数で、グローバル変数の一種です。ワークスペースで評価したコードに含まれる変数の…
Squeak-dev をほとんど追っかけていないせいもあって、知らないうちにファイナルになっていた 3.9 。いろいろと(おそらくたいした理由があってかなくてか…w)変えられてしまって気にくわないところもいくつかありますが、ちょっといじったかんじ、まあ 3.8…
The Log of the No22 - ボーリングのスコア計算 を拝見していて、短けーっとか思いつつ、ああ… size = 1 の条件分岐はいらねーな…と遅まきながら気づかされたりしたので少し整理するようにして書き直し。必然的に Sukuna 版の直訳気味に。 Squeak の Smallta…
Haskell で Bowling Score - An Agile Way [ITmedia オルタナティブ・ブログ] で言及されている「アジャイルソフトウェア開発の奥義」のボウリングスコア集計の例を、Squeak の Smalltalk で直訳気味に。 TddBowlingScore.cs えーと。念のため、.cs ですが C…
XProgramming - XP Magazine - Haskell Bowling #(0 0 10 8 2 10 10 10 5 3 8 2 10 10 10 10) bowlingScore " => 201 " まずは Haskell 版を直訳ぎみにして、それからヒネリを入れてみよう…と思ったのですが、もとがあまりにシンプルで代替え案が思いつかな…
コミュニティが育てる・作る言語,フレームワーク,ERP,SNS---「関西オープンソース2006」レポート:ITpro Squeak-ja の展示内容について比較的くわしく書かれています。こうしたメジャーなメディアへの露出はいつも嬉しいですね。今が旬の 100 ドル・ラッ…
Ruby では Class 。Smalltalk ではどうか。 | results | results := OrderedCollection new. SystemNavigation default allObjectsDo: [:obj | obj class == obj ifTrue: [results add: obj name]]. ^ results asArray=> #()ありません。ただ、自身のクラス…
再開(?)後、みょーにリフレクションづいている rubyco さんに影響されて Squeak の Smalltalk でどうなっているのか調べてみました。 追記:コメント欄にて nurse さんが暗にご指摘のとおり、おそらく、rubyco さんのおっしゃっておられる意味あいのものは、…
富豪的に。 | vertices center pi thetaOf | vertices := {100@100. 200@100. 200@200. 100@200} shuffled. "任意順に与えられた四座標" center := (vertices min + vertices max) / 2. pi := Float pi. thetaOf := [:point | ((point - center) theta - pi)…
id:sumim:20061106:p1 の続き…というより、オマケ? Ruby や Strongtalk のものとはセマンティックスを異にしますが、Squeak システムにおいて 3.9(起動するには別途 Squeak VM と SqueakV3.sources が必要)より採用されることになったミックスイン機構で…
だいありー[霜月-5(Sun)] より。 ということで私も興味を持ったので、 Smalltalk 処理系のひとつで Ruby と大変よく似たタイプのミックスイン機構を持つ Strongtalk で試してみました。結果、現時点での Ruby 1.9 の挙動と同じであるようです。 関連:Squeak…