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.10 Mon : 台風接近 : に乗じて、わらしべ長者の気分を少しだけ味わう方法を考えてみた。 1. 会社にビニール傘を持っていく 2. 仕事する振りをして皆が帰るまで待つ 3. ビニール傘を置いて、代わりに適度にボロい傘を持って帰る 4. ウマー こらーっ、ウマーじゃありません! 面白い表現? : 某記事に載っていた、 「暖炉の上に雪だるまを載せているようだ」 ってどういう意味? [Smalltalk] 配列の表現 : 以前、Squeak の配列表現には #() と {} の二種類あると書いたが、実はこの二 つには大きな違いがあった。 #() は「リテラル配列」というもので、要素はすべてリテラルである必要がある のだった。(しかもブロックはリテラルなのに使用不可) だから、配列の要素に変数や式の値を含めようという場合には使えない。 従来の Smalltalk の文法ではこういう場合どうしていたかというと、 Array の クラスメソッド with: を使う。(with: , with:with:, .... ときて with: x 6 まである) あと要素が6個以上要素があるときは、 Array new add: xxx ; add: xxx ; add xxx; .... とするとか。 それが、 {} を使う場合は、ピリオドで区切られた式を要素に使うことができる ようだ。 まとめ: #( (1 + 1) (2 + 2) ) => #(#(1 #+ 1) #(2 #+ 2)) Array with: 1 + 1 with: 2 + 2 => #(2 4) { 1 + 1 . 2 + 2 } => #(2 4) [Smalltalk] 文字列のマッチング : String>>match: text ワイルドカードによるマッチング '#' ... 任意の一文字にマッチ '*' ... 0個以上の任意の文字列にマッチ 一瞬勘違いしてしまったが、self がパターンで、text が対象となる文字列であ ることに注意。 String>>beginsWith: prefix self が prefix で始まっていたら真。 String>>endsWith: suffix self が suffix で終っていたら真。 String>>endsWithAnyOf: aCollection self が aCollection の中のどれかで終っていたら真。 その他、 findStringほげほげ: シリーズとか、 findTokensほげほげ: シリーズ とか、 indexOfほげほげ: シリーズとか。 結構充実している、というかちょっとずつ違うものがいっぱいあるぞ。 piza2/tech : なぜ今ごろ Mops スレが…? 2001.09.11 Tue : [Squeak] AltWindowLook : Squeak 3.1alpha ではウィンドウの外観がかなり垢抜けた感じになっている。 (Preference の AltWindowLook という Bool 値を false にすると元の外観に戻 る。) [changes...] -> [simple change sorter] で調べてみると、このへんは 4251Al- tWindowLook というChangeSetで追加されたようだ。 しかし、試しに上記のChangeSetを単純にfileOutして素のSqueak3.0にfileInして みたら、 System Error でフリーズしてしまった。(<無謀です) [Squeak] Collaborative Tool : Text Chat, Audio Chat, Morph転送ツール、などなどがごっそり追加されてい る。 ListerMorphの動作がなんといっても傑作。 Objective-C : しばらく頭を Smalltalk 漬けにしていたが、久しぶりに Objective-C のサンプ ルコードを見てみた。 うぐぅ、C でもなく Smalltalk でもない…。 中途半端に混ざってるよぅ。 気持ち悪いよぅ。 2001.09.13 Thu : [Smalltalk] fileIn(チャンク)形式のフォーマット : 基本的には通常の '.' の代わりに '!' をデリミタとした Smalltalk の実行文。 最初がファイルのコメントで、その後クラスの定義が複数続く。クラスの定義 は、クラスの宣言、クラスコメント、メソッドの宣言、メタクラスの宣言、クラ スメソッドの宣言、クラスの初期化文(多分、'クラス class initialize!') と いう並び。 メソッドの宣言は、 !クラス methodsFor: 'カテゴリ'! という行に、 '!' で区切ったそのカテゴリに属するメソッドの宣言が続き、カテ ゴリの最後は '! !' で終る。 クラスメソッドの場合は !クラス class methodsFor: 'カテゴリ'! となる。 [Squeak] いいもんめっけ : ProtoObject . Object . . Stream . . . DataStream . . . . ReferenceStream . . . . . SmartRefStream DataStream: This is the save-to-disk facility. A DataStream can store one or more objects in a persistent form. ReferenceStream: This is a way of serializing a tree of objects into disk file. A Ref- erenceStream can store one or more objects in a persistent form, includ- ing sharing and cycles. SmartRefStream: Ordinary ReferenceStreams assume that the names and order of instance variables is exactly the same when an object file is written and read. SmartRefStream allows object files to be read even after instance variables have changed or the entire class has been renamed. いいですねぇ。 2001.09.14 Fri : 偶然発見 : Cで書かれたわずか千行足らずの超小型 Lisp 処理系。(小さいがちゃんとGCつき) CAMPUS LIsP, Lemon version(http://aten.aial.hiroshima-u.ac.jp/~kakugawa/clisp/index-ja.shtml) ぁゃιぃ名前だがまともなものらしい。 これはあくまで実現の「一例」です。これが実装法の全てとは思わないで 下さいね。> 初心者 だそうで。了解しました。(<初心者) 続・fileIn : fileInフォーマットのファイル読み込み処理を実際に担当しているところは、 VWNC3.0では... PeekableStream>>fileIn Squeakでは... PositionableStram>>fileInAnnouncing: '!' をデリミターとしてストリームを一区切り読み込み、 Compiler class>>evaluate:logged: に食わせている。 2001.09.17 Mon : ADSL : 電話の名義間違えてて一回休み。 NTTから届くお知らせの類は全部この名前で届いてるじゃないか〜。なんで違うん だよ〜。 [Squeak] RefactoringBrowser : Squeak-dev ML でRefactoringBrowser関係の作業が進んでいるようだ。ま だAlphaみたいだけど。 ガオレンジャーvsスーパー戦隊 : 東映オリジナルビデオ作品。 例のタイムレンジャーとガオレンジャーの間にやった、全シリーズ総集編を手掛 けたスタッフが、 勢いあまって作っててしまったのだろうか。 歴代レッド全員集合…。いったい何人いるんだ。 一人ずつ長々と決めポーズとってるし…。むちゃくちゃ時間かかるよ…。 あんたら地球の平和守り過ぎ。 [Squeak] EmacsLikeKeys : ParagraphEditorの定義をちょっといじって、Emacsライクなエディタ操作を少し だけサポートするものを書いてみました。 EmacsLikeKeys.lzh(../prog/EmacsLikeKeys.lzh) Squeak-3.1a で書きましたが、多分 2.x でも動くと思います。 EmacsLikeKeys.st をファイルインすると、Goodies-EmacsLike というカテゴリに EmacsLikeKeys というクラスが追加され、 ParagraphEditor クラスへの変更が有 効になります。 EmacsLikeKeys クラスを削除すると、元に戻ります。また、 EmacsLikeKeys install "有効化" EmacsLikeKeys uninstall "無効化" というメッセージ式でもコントロールできます。 このシステムクラスへの変更を行う部分は、青木淳さんが [SML:1522](http://www.sra.co.jp/smalltalk/SML/1001-2000/mails/1501-1600/1552.txt) で紹介している MouseButtonModifier から、 class initialize class install class obsolete class uninstall class installModificationInClass:protocol:code: class uninstallModificationInClass:selector: をほとんどそのまま真似して使わせて頂きました。 できることは、 C-f (カーソルを右へ) C-b (カーソルを左へ) C-n (カーソルを下へ) C-p (カーソルを上へ) C-e (カーソルを行末へ) C-a (カーソルを行頭へ) C-h (カーソルの一文字左を削除) C-d (カーソルの一文字右を削除) C-w (カット) M-w (コピー) C-y (ペースト) といったところです。マーク/リージョンの操作は、やりたかったのですが大が かりになってしまうのでまだ手をつけかねています。 2001.09.19 Wed : Smalltalk言語による詩篇第148篇 : 結城さんのページ(http://www.hyuki.com/prayer/smallpsalm.html) に掲載していただきました。 間違い、ミス、勘違い、誤植などあれば御指摘を。 旧約聖書 詩篇第148篇 (新改訳) ハレルヤ。 天において主をほめたたえよ。 いと高き所で主をほめたたえよ。 主をほめたたえよ。すべての御使いよ。 主をほめたたえよ。主の万軍よ。 主をほめたたえよ。日よ。月よ。 主をほめたたえよ。すべての輝く星よ。 主をほめたたえよ。天の天よ。 天の上にある水よ。 彼らに主の名をほめたたえさせよ。 主が命じて、彼らが造られた。 主は彼らを、世々限りなく立てられた。 主は過ぎ去ることのない定めを置かれた。 地において主をほめたたえよ。 海の巨獣よ。すべての淵よ。 火よ。雹よ。雪よ。煙よ。 みことばを行なうあらしよ。 山々よ。すべての丘よ。 実のなる木よ。すべての杉よ。 獣よ。すべての家畜よ。はうものよ。 翼のある鳥よ。 地の王たちよ。すべての国民よ。 君主たちよ。地のすべてのさばきづかさよ。 若い男よ。若い女よ。年老いた者と幼い者よ。 彼らに主の名をほめたたえさせよ。 主の御名だけがあがめられ、 その威光は地と天の上にあるからだ。 主は、その民の角を上げられた。 主の聖徒たち、主の近くにいる民、 イスラエルの子らの賛美を。 ハレルヤ。 ADSL : モデム到着。しかし開通は25日。 名義さえ間違わなければ今ごろ…。 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 6