pの使いかた

投稿日: Mar 20, 2009 2:8:8 PM

pは非常に便利です。任意のオブジェクトに送り、そのオブジェクトをトランスクリプトに表示させることができます。

1 p.

#(1 2 3) p.

従来は、

Transcript show: 1; cr.

Transcript #(1 2 3); cr.

のように書く必要があったことから考えると、格段の進歩です。

以下はメッセージチェインの中に入れてみた例です。

#(66 67 68) p reverse p collect: [:each | each p asCharacter p]. " =>#($D $C $B) "

トランスクリプトには以下のように出力されます。何が起こっているのか、たちどころにわかりますね。

#(66 67 68)

#(68 67 66)

68

D

67

C

66

B

デバッグの後には単純にpを削除すればOKです。得意の正規表現を使って置換してください。または普通に組み込みのデバッガを使ってください。

SmallTalkではpの他に、i(inspect)やe(explore)、さらにh(halt)というものも用意されています。局面に応じて使い分けると良いでしょう。どの方法をとるにせよ、タイピングの量はおよそ6分の1程度に激減するということが実感できると思います。