ObjectSquare [1998 年 11 月号]

[Happy Squeaking!!]


3.Squeak に親しむ

3.1 インタラクティブな環境に慣れる つづき


出力の窓 - トランスクリプトを使う

デモプログラム起動の後は、全てのプログラミング入門で典型的な例である、HelloWorldプログラムを作成してみましょう。

HelloWorldプログラムは、標準出力やダイアログウィンドウなどに"HelloWorld"という文字列を表示させるという簡単なプログラムです。

そのためには、まず実行の結果が出力される窓を開く必要があります。
メインメニューから、"open…" 、続いて"transcript"を選択します。


"transcript"の選択

以下のようなオレンジ色のウィンドウが立ち上がります。

拡大図 (GIF,4KB)
トランスクリプトウィンドウ

トランスクリプトウィンドウに文字列を送ることで、表示を行わせることができます。

ワークスペースで以下の文を書き、do it してみましょう。

Transcript show: 'HelloWorld!'

(まだSmalltalkの文法の説明をしていないので、とりあえずおまじないと思ってください。簡単に解説すると、「Transcriptに対して、show: というメッセージを送っている。その時の引数は文字列 'HelloWorld'」ということになります)。

'HelloWorld' と表示されましたね。


最初のHelloWorldプログラムの実行

エラー表示について

おまじない的に打ち込みを行うと、えてしてタイプミスなどをしがちです。
Squeakはインタラクティブな環境なので、多少のエラーならば未然にそれを直してくれます。

例えば、Transcriptt show: 'HelloWorld!' と t を続けて書いてしまい do itした場合、Squeakは、以下のような警告を出してきます。


ポップアップメニューでTranscripttの修正を促す

メニューは"Transcriptt" を新規のグローバル変数として定義するか、または下の候補に修正するかの選択を促しています。正しい"Transcript"を選択すれば、引き続き実行させていくことができます。

'show:' を'shou:'などとしてしまった場合も同様です。この場合は、こんな感じでポップアップが開きます。


ポップアップメニューでshou:の修正を促す

わかりにくいコンパイルエラーを出すだけだったり、実行に失敗してコアダンプを残していったりする環境に比べてなんて親切でしょう。
(このようなエラー修正機能は、Smalltalkのリフレクションという機能を用いて実現されています。Javaをご存知のかたはおなじみかもしれません。ここでは詳しく取り上げませんが心に止めておいても良いでしょう。)

しかし、Squeakといえども万能ではありません。修正用のメニューを開けない場合もあります。

一つ目は、ワークスペースで選択してdo itしようとした部分が文法的に間違っていた場合です。文法解釈ができないのでどの部分を修正すべきかの判断もつかないのです。

例えば 'HellowWorld' を'HellowWorld" (<=ダブルコーテーション!) と引用符を間違えたとします。この場合には「文字列の引用が一致していません =>」と多少無味乾燥な答えかたをしてきます。


文法的な誤りの場合の表示

この場合はBS(バックスペース)でエラー表示を消し、自分で修正しなければなりません。

もう一つ、初心者をたじろがせるエラー表示として、ノーティファイアウィンドウというものが立ち上がる場合があります。

例えば、Transcript show: 'HellowWorld!'の全てを選択せずに、ranscript show: 'HellowWorld!' とTを抜かして do it してしまったりするとこれに該当することになります。
ピンク色の強烈なウィンドウが立ち上がるので、驚いてしまいますが、なんということはありません。「メッセージが理解できません」と言っているだけです。

拡大図 (GIF.6KB)
ノーティファイアウィンドウ

文法的には誤りでないため実行したものの、処理の途中でエラーが起きたというような場合にこうした状態になります。(例の場合は初期化されていない変数ranscriptに対してshow: のメッセージが送られ、その結果としてエラーになっています。詳しくは文法の章で)。実はノーティファイアからデバッガを開きコードを修正して継続実行していくこともできるのですが、ここではそこまで立ち入りません。タイトルバーの左上のボタンで閉じてしまいましょう。

検索、定義の窓 - システムブラウザ

さて、もう一つSmalltalkで重要なツールに、システムブラウザというものがあります。
メインメニューから"open…"さらに"browser"を選択すると立ち上がります。

拡大図 (GIF,7KB)
システムブラウザ

システムブラウザは、その名の通り、Squeakシステムの中身を調べるためのツールです。Squeakのシステムは多くのクラス群(一種のプログラム部品)から成り立っています。開発は、このツールを使い、現在自分が入手できる部品を調べたり、また新しく定義したりしながら行われていきます。

定義された部品群は最終的にはワークスペースでdo itされます。ワークスペースは実行の窓、システムブラウザは検索、定義の窓と考えてください。

システムブラウザは以後いやというほど使うことになります。ここでは詳細な解説はしません。
このツールを使いこなせるようになるには、オブジェクト指向に対する基本的な知識が不可欠なのです。その部分の地盤を固めてからあとで振り返ることにしましょう。


© 1999-2001 OGIS-RI Co., Ltd.

Prev.

Index

Next