レガシーコード生産ガイド

私に教えられることなら

Pharo

Squeak5.0/Pharo4であるクラスの全メソッドのソースをクリップボードに

ブログ等に貼るために、Smalltalkのクラスのメソッド定義を手軽にコピーしたい。 クラスの定義はFileOutでファイルに書き出せるけど、いちいちファイルからコピーするのも面倒だし、あまりブログ等で眺めるのには適してない表示になる。 コピペも面倒だし、S…

Pharo4/Moose5でGlamourを使ってGUIを構築するメモ

Squeak SmalltalkでToolBuilderを使ってGUIを構築するメモ - レガシーコード生産ガイドに続き、今回はMoose5(Pharo4)でGlamourを使い、Dictionaryの内容を表示するGUIを作ってみる。 Pharo4にGlamourを入れれば多分使えると思うけど、Moose5が全部入りで楽な…

Smalltalk(Pharo)でLispを書いてみる

cons、first、rest、+だけだけど書いてみた。コードは最下部にある。 Smalltalkで宣言的に書く 暫く前に名詞の王国 - あどけない話と、それについて言及した 言霊の國 - みねこあを読んで、ふーん宣言的にか……なるほどな、でも例えばLispインタープリタならL…

Pharoでクロージャ

Pharo3.0のメソッド、ブロックで普通にクロージャが利用できるみたいなので使ってみる。 Sketchオブジェクトを作って、クラスサイドにメソッドを追加 counter | i | i := 0. ^ [ i := i + 1. i ] . c := Sketch counter. c value. "print it の度に数字が増…

PharoでFizzBuzzMachine

Smalltalk Advent Calendar 2014 - Qiita のnewappleshowさんの記事を見ながら作った。まだブラウザとか使いこなせてないから、どんなメソッドをどういう風に使えるのかわからなくてArray周りで苦戦した。あとブロックの中で最後に評価した式がブロックの値…