2015-01-01から1年間の記事一覧

Squeak5.0で日本語表示をするシリーズ: とりあえずJapaneseEnvironmentを直してStrikeFontで日本語を表示できるようにする

おそらくここらへんは将来的にはなくなる予定の仕組みなのかもしれないのですが、とりあえず淡々と直していきましょう。いったん TrueType のことは忘れて StrikeFont(ビットマップフォント)で日本語を表示できるようにします。 まず最初に、既定のフォン…

Squeak5.0で日本語表示をするシリーズ: (寄り道編)ワークスペース内容をHTMLで保存する機能追加

Squeak5.0の日本語フォント表示周りをぼちぼち直していこうかと件のTTなんたらクラスの動きをちまちま調べている途中、ワークスペースにメソッド内容などをコピペしてメモを作ったりしているうちに、シンタックスハイライトできれいに色づけされた文字属性も…

Squeak5.0で日本語表示をするシリーズ: FontImporterTool を使う

ご多分に漏れず1バイト文字圏に自由気ままに振る舞われているのと、将来的には EncodingTag/leadingChar とかの仕組みが変わるような話も耳にして、5.0 までになった Squeak ではもはや日本語表示は無理なのかなぁ…4.3J とか 4.4J を使い続けるかなぁ…と、…

“サイコロの展開図”問題を正規表現がデフォで使える Pharo Smalltalk で(正規表現を使わずに Squeak でも)

サイコロの展開図 横へな 2015.3.7 問題 Pharo では正規表現が使えるとのことなので、ちょうどそれ向きのお題ということもあり、久しぶりに Pharo で、Squeak 向けのコードの動作確認の範疇をこえて、書き下ろしていろいろ遊んでみました。 | patterns solve…

“とある世界のタクシー料金”問題を Squeak/Pharo Smalltalk で

とある世界のタクシー料金 横へな 2015.4.18 問題 | cityOfPlace distOfSection additFare initFare fareFor | cityOfPlace := Dictionary new. #(円來 'ABC' 炭州 'DEFG') pairsDo: [:ci :pls | pls do: [:pl | cityOfPlace at: pl put: ci]]. distOfSectio…

「進捗・どう・です・か」を Squeak Smalltalk で

タイトルにもあるように「進捗・どう・です・か」をランダムな順序で表示し、「進捗どうですか」が完成したところで適当にクエスチョンマークをつけて去っていくプログラムです。特に意味もなく文字カウントします。おおよそ数十文字から1000文字程度で目的…

共立出版刊「Common Lisp オブジェクトシステム」の共通例題 Grapher の Smalltalk-80 版を Squeak 1.3 で

Ruby の「特異メソッド」命名の元ネタとも言われる、共立出版刊「Common Lisp オブジェクトシステム」にあった各種 OOPL での共通例題の Smalltalk-80 版を Squeak Smalltalk のごく初期のバージョン(1.31)で動かしてみました。 CLOS-Grapher.st だいぶ改…

“SEND + MORE = MONEY”ソルバーを Squeak Smalltalk で その4

久しぶりに SEND + MORE = MONEY 。以前書いたもの(ブルートフォース版)の焼き直しなのですが、少しだけ趣を変えてみました。デュードニーの覆面算というのですね。 | int solveAlphametics | int := [:array | array reversed polynomialEval: 10]. solve…

Consセルがメッセージを受け取って動くLispもどきをPharo3.0 Smalltalk で

OOP

引数を評価する(carをevalしていく)ときにatomとして使っているSmalltalkのデータ全てがevalメッセージを理解 http://phaendal.hatenablog.com/entry/2015/04/17/164825 名詞とか動詞とか宣言的とかは難しくてよく分からないのですが(をゐ)、このアイデア…