CAKE(6) FreeBSD Games Manual CAKE(6) NAME ふりぽけ日記 - 2001年09月上旬 SYNOPSIS cake [-vd] [garbage-in garbage-out] DESCRIPTION Cakeは駄文製造プログラムです。一般に、ゴミを入力するとゴミを出力す る、とされています。 OPTIONS なにも指定をせずに立ち上げると、標準入力(/dev/ear)から読んで標準出 力(/dev/mouth) に書こうとします。(放っておくと、ずっとそのままで入力を 待っています。)入力ファイルと出力ファイルを指定すると、それらを読み書き します。 -v オプションを指定すると、何をやっているのか細かく報告します。 -d オプションはデバッグモードです。 2001.09.01 Sat : 今、Smalltalkで作るBASIC : 10 PRINT: 'hello'. 20 GOTO: 10. SmallIntegerのインスタンスメソッドとしてBASICインストラクション風のキーワ ードメッセージを追加する。各命令は、新規クラスBasicInterpreterのクラス変 数 BasicProgram(a Dictionary) に、self をキーとして実行すべき式を追加す る。例えば PRINT: は、 PRINT: aStirng BasicInterpreter at: self block: [Transcript show: aString; cr] source: 'PRINT: ''', aString, ''''. Transcript cr; show: 'OK'; cr …かなりアドホックだな。 実行は BasicInterPreter class>>RUN BasicInterpreterの実装は、BasicProgram の内容をキーの昇順に value してい けばいいか。 GOTO や FOR...NEXT なんかのためにプログラムカウンタは必要になるね。 TileScript : Squeakを3.1alphaにネットワークアップグレードしたら、SystemBrowser に what to show... というサブメニューが増えていた。(タイトルバー左から2番目のア イコンで出る) ここからコードペインのさまざまな表示形式が選択できるようになった。 もとのソース(SQsource.jpg) 色付きプリティプリント(SQcolorPrint.jpg) 謎の代替シンタックス(SQaltSyntax.jpg) 前回との差分(SQshowDiffs.jpg) 最も衝撃的なtiles(SQtiles.jpg) * インラインは重いのでリンクに変更。 この他に byteCodes とか想像の通り。 tilesはマウスが上を通ると枠がついたり、クリックすると色が変わったり、もう 文章では表現できないレベルの代物。でもこの状態でいじっても本来のコードに 反映しないのが残念。 しかしSqueakのGUIもだいぶ垢抜けてきたね。 ビデオ屋に : 寄ったらなんと伝説の「シャンゼリオン」が全巻揃っていることに初めて気づい た。 語り草の最終回を一目見るため、最終巻を借りる。 さすがに最初から全話見るほどの暇も根気もない…。 2001.09.03 Mon : Squeakの開発版を追いかける : [help...] メニューから、[update code from server] で、リポジトリから最新 のコードを取って来れるが、 ChangeSetの一覧を見てみると、 "4282envRefix- raa" のように連番+概要+イニシャルで細かい(コミット単位?) 変更ごとのチェ ンジセットとしてサーバーに登録されているようだ。 ソースを取って来る時同時にコンパイル&反映までやってしまうところが、 Smalltalkならでは。 この方式だと、最新VM でないと動かないような変更が入るとシステムが死んでし まうような気がする。 今回も途中で「これ以上進めると、3Dの部分が表示できなくなる。見たかったら VM を新しいものに変えろ」というダイアログが出ていたから、途中で警告は出す みたい。 VMも 3.1alpha build 6 に上げてみたところ、黒ベタになってしまってい たAlice-3Dもまた表示されるようになった。 Direct3D版とOpenGL版が同梱されて いた。 さらばAptiva : 新しいPCを購入してもう4ヶ月。 先代のAptivaを廃棄処分にすることにした。 ばらして使えそうな部品だけ取り出し、結局ケースとマザー、ISA系カードだけを 粗大ごみとして出した。 さようならAptiva。君はLANカード不可という世にも使えないパソコンだったが、 それでも長年いろいろ役に立ってくれたよ。 Mozilla : Mosic Killer の略だったとは。 2001.09.05 Wed : のこちゃん語録 : 「パパにお金持たすと本買っちゃうからな〜」 済まんのう。しかし朝渡されるおこずかいが千円っていうのもちと…。 プール変数の謎 : 意味とか位置付けとか機能とか、いまいち理解できてなかったけど、 ここ(http://www.sra.co.jp/people/kondo/business/VW/Basic/1-6/1-6.html#anchor1544202) 見てやっと分かった。 晩飯 : のこちゃんが自由が丘のアンティークショップで買って来てくれたナンミックス でナンを焼いてくれた。(<それちょっと違う気が) これを三日目カレーにかけて食べると、もううまいのなんの。 SmallInterfaces : umejavaさん謹製(移植)の SmallInterfaces for Squeak(http://www.mars.dti.ne.jp/~umejava/smalltalk/stClasses/smallInterfaces/index.html) というのをダウンロードしてみた。 このソフト、システムクラスを変更するのだけれど、対応バージョンが2.8でと なっていて、3.1alphaでそのまま使えるのかよく分からない。 とりあえず install.st を覗いてみる。簡単なバッチスクリプトになっているの ね。 まずfile in するディレクトリのパスを設定して、その後 2.8でインストールす るべきファイルを定義してある。(2.7用はコメントアウトしてある) インストールするファイル群は core と gui と ansi に分かれているみたい。 恐そうなのが 'SmallInterfaces Squeak2.8 SysChanges.cs' 'SmallInterfaces Squeak2.8 DirtyFix.cs' の二つ。 umejavaさんのページには Filing-in SmallInterfaces2.0.0 will overwrite system classes. In most situation, it is harmless. If you are anxious about conflicts, please check SmallInterfaces Squeak SysChanges.cs(using FileList "browse code"). とあるが…。 分からないなりに一応、file listからbrowse changesとやって、 select con- flicts with any changes... というのを選んでみるがなにもselectされないの でconflictはないということなのか?(<この人なにも分かってません。) うーん、changesetをずずーいと見ていくと、新規メソッドの追加が大半で、既存 のメソッドを変更しているのはChangeSetとCollection、IdentitySet と数えるく らいしかない。DirtyFixも変更点はたった2つだし、真剣にコードを追わなくて もなんとかなるかな的な。 そのまま fileIn しちゃおっかなー。 いや、ちゃんと読むべきかなー。 何事も勉強だしなー。(<かなり優柔不断です。) 2001.09.07 Fri : 環境改善計画 : 今朝、プロバイダにADSLプランへの切替えを申請した。 今までアナログモデム接続+NTTタイムプラスでやっていたが、電話代とプロバイ ダ料金の合計がADSLプランの料金を上回っていたことが発覚。 それから無線LANの導入を検討中。 のこちゃんの「家の中をコード類がはい回っているのがゆるせない」というあり がた〜いお言葉がプロジェクト発足のきっかけ。 でも、ドライバWin95に対応してるかな…。(ちょっと不安) 胡蝶か夢か、シャンゼリオン : 最終回、観た。 凄かった。 ストーリーラインが破綻していない分、破壊力はエヴァの比じゃないぞ。 始めの方から毎週観てる人が予備知識なしでこれ観たらパニックだな。 2001.09.08 Sat : [Squeak] バージョン管理 : あるメソッドの過去の版を見たい場合、システムブラウザのメッセージセレクタ ペイン(上段右端の欄)で当該メソッドをクリックして黄ボタンメニュー(*)を出 し、"versions" で、履歴一覧を見ることができる。 ひとつ前の版からの変更点が、追加は赤文字、削除は打ち消し線で表現されてい るので変化を追うのは簡単だし、そこからさらに黄ボタンメニューから、現在の 版との比較を新しいウィンドウに開くこともできる。他にも revert to selected version -- 選択している版に戻す remove from changes -- 選択している版を履歴から削除 などがあり、ないのはおそらくブランチを分けること位ではないだろうか。 * 2ボタンマウスなら右クリック、1ボタンマウスならOpt+クリック 2001.09.09 Sun : StarSqueak : 以前 ASCII で Star Logo という面白そうなシステムが紹介されていた。 Logo といえばタートルだけど、何百というタートルを並列で動かして群れとして いろいろな処理を行わせるというものらしい。 例えば、平面上の「ゴミ」を掃除させるのに、 1. ランダムに動き回る 2. ゴミにぶつかったら 2-1. 手ぶらならゴミを拾う 2-2. ゴミを持っていればそこに一緒に置く というタートルを平面にばらまくと、平面上に散在しているゴミがだんだんまと められていく、というアルゴリズムが記事に載っていた。 Squeakに StarSqueak というクラスがあったのでもしかしてと調べて見たら、 やっぱり Star Logo を移植したもののようだ。 面白いものはなんでも取り込んでしまうのか。:D Base64 : ブラウザでMLのログを読んでいると、Base64 エンコードされた添付ファイルがそ のままベタで掲載されていることがある。デコードしようと思うと、エディタを 起動してファイルに保存して、さらにデコードプログラムを起動して…と結構面 倒くさい。 そこで、クリップボード経由でデコード/ファイルに保存するツールをSqueakで 書いてみた。 B64DecodeTool.st(../prog/B64DecodeTool.st) 使い方: 1.Base64エンコードされた文字列をクリップボードにコピーします。 2.Workspaceなどで "B64DecodeTool go" を doIt します。 3.ダイアログが2回でてきますので、1回目は文字列を、2回目は保存 するためのファイル名を入力します。 4.Squeakプロセスのカレントディレクトリに、ファイルが出来ています。 はっきり言って、既存クラスの既存メソッドを呼び出すだけのバッチファイルだ から、クラスにする必要もないんだけど。 SEE ALSO Top(1), PocketBSD(1), シュミプロ(1), ぽめれちょう掲示板(3), きまたま日記(6), 過去日記インデックス(1) AUTHOR Cake(SHIMADA Keiki) BUGS IE 4.0 以降や Netscape Navigator 6 以降などよりも、単純な VT 端末やライン プリンタからの出力のほうが見やすいかも知れません。 この日記に書かれた内容が客観的に正しいという保証はありません。また、内容 が予告なく変更されることもあります。 Sorry, This page is English free. nroff nikki system 0.01 October 14, 2001 5