[View] [Edit] [Attachments] [History] [Home] [Changes] [Search] [Help]

Folktale

コマンドラインから Squeak を使うためのツール
Folktale-051.st Folktale 本体
squeak-051.el emacs 用 マクロ

インストールと起動

ComSwiki で利用する場合は
$ Squeak.exe -headless squeak.image Folktale-051.st &
のようにすると良いでしょう。

ファイルインすると自動的に立ち上がります。イメージを落としても
次回からまた自動的に立ち上がるので、もしも切っておきたい場合は
Folktale openLauncher
でランチャを出して stop の状態にして下さい。

使い方

telnet で 4919 ポートに接続してください。
標準では localhost 以外からの接続は出来ません。
接続した後、任意の Smalltalk 式を評価できます。
また、評価した後はそのオブジェクトに self でアクセス出来る
ようになります(ダイブする、と言う)。ダイブしたくない場合は
式の最後に. (ドット) をタイプしてください。

モード

接続時にはチャットモードになっていますが、q chunk を
入力する事によってチャンクモードになります。これは、GNU Smalltalk
のように ! で式を区切ります。複数行の式を評価したり、ファイルイン
形式でメソッドを定義する事が出来ます。

emacs で使う

多分 telnet では相当使いにくいので、squeak.el を使って emacs から
接続する事をお勧めします。
M-x sq-mode 対話形式で評価
M-p 一行評価して表示
M-P リージョンを評価して表示
M-x sq-file-in-region リージョンをファイルイン

おまけ機能として、>>> 演算子を定義しています。
Object >>> #name
のようにすると、メソッド定義がファイルイン形式で表示されますので、
そのまま M-x sq-file-in-region で編集できます。

セッション例

** Welcome to Squeak (Folktale 051)
** VM: Win32
**  - Squeak3.6 of '6 October 2003' [latest update: #5424]
** Image: SqueakNihongo6.1 [latest update: #1]
> help

Useful expressions and pseudo variables.
Jump result object unless your query has dot(.) at end.
----
help -- This message.
exit  -- Exit.
self -- Current object.
ii -- Inspect self.
history -- Show history.
back -- Back.

q -- The agent (me).
q usefulExpressions -- Show more useful expressions.

> World submorphs select: [:e | e class = SystemWindow]
2001: Array
====================
1 :	a SystemWindow(150)
2 :	a SystemWindow(3825)
3 :	a SystemWindow(3716)
4 :	a SystemWindow(2892)
5 :	a SystemWindow(3912)
6 :	a SystemWindow(2414)
7 :	a SystemWindow(3598)
8 :	a SystemWindow(1539)

> self collect: [:e | e label].
2060: Array
====================
1 :	'= [squeak] Folktale パッケージ emacs'
2 :	'System Browser: Folktale'
3 :	'Monticello Browser'
4 :	'SUnit Camp Smalltalk 3.1 Test Runner'
5 :	'Recent submissions -- youngest first'
6 :	'Implementors of >>>'
7 :	'Transcript'
8 :	'Hierarchy Browser: ArrayedCollection'

> self second model contents.
Object subclass: #Folktale
	instanceVariableNames: 'isRunning listener '
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Folktale'



http://d.hatena.ne.jp/propella/20040502 も参照してください。

前のバージョン
Folktale.sar
OldChat.sar

Link to this Page

propella home