[Squeak-ja: 2490] SqueakToysの変数

suto suto @ amcac.ac.jp
2005年 6月 30日 (木) 09:23:44 JST


秋田公立美術工芸短期大学の須藤です。
いつもお世話になっています。

SqueakToysのタイルプログラミング(?)の変数についての質問です。

(1)
関数に「引数」を設定したとき、その引数を表すタイルを条件分岐のタイル(テスト)の
条件部分に入れようとしても入ってくれないのですが、
引数を見て処理を条件分岐させることはできないのでしょうか?

(2)
また、関数を再帰的に呼び出すとき、
「現在の引数に1を足した数を引数として再帰呼び出し」のようなことをやりたいのですが、
「引数に1を足す」方法が分かりません。可能でしょうか?

(3)
上記の解決策として、「変数」を新たに作成して「引数」を代入し、
条件分岐などはこの変数を参照することで処理しています。
しかし、ここで作成された変数はいわゆるグローバル変数(インスタンス変数?)のようで、
再帰呼び出しを行うと期待した結果を得ることができません。
(現在は再帰から返ってきたところで引数を再代入することで回避)
いわゆるローカル変数を使うにはどうすればいいのでしょうか?

(3)に関しては、(2)が解決すれば Lisp でいうところの破壊的代入をしない、
という作戦でなんとかなりそうと予想しています。

使用している環境は、knoppix +Squeak 6.1(日本語)です。
よろしくお願いします。

---
須藤秀紹(すとうひでつぐ)
秋田公立美術工芸短期大学 産業デザイン学科
〒010-1632 秋田市新屋大川町12-3
TEL 018-888-8108 / FAX 018-888-8109
http://www.amcac.ac.jp/~suto




Squeak-ja メーリングリストの案内