頻用メッセージの略記法

MopsとペアのソースコードエディタであるQuick Editとの関連での、PowerM0ps 5.6からの機能拡張です。オブジェクトへのPut:メッセージとGet:メッセージを左右にぶら下げた矢印文字で代替することができます。「矢印文字」というのは、「➞」というような記号(太めの右向き矢印、出てますかね)ですが、エディターでは、option+>で入力します。現在のところ、正しい文字はQuick Edit上でしか表示できませんが、いずれはPowerMopsのコンソール上でも表示できるようになると思われます(すでにβテスト中で、全く問題は見つかっておりません。)。ちなみに、現在ではPowerMops上では、矢印ではなくて「≥」になってしまいますが、コンパイルや実行は正しく行われます。

書き方としては、
PUT: MyObj <=> ➞MyObj
GET: MyObj <=> MyObj➞

つまり、Put:はオブジェクト名の左に矢印をつけることで、Get:は右に矢印を付けることで代替できます。

注意点としては、第一に、矢印とオブジェクト名との間に空白を入れてはいけません。つまり、➞はワードではなく、特殊記号だということです。第二に、これは新しいメソッドを定義するわけではありません。つまり、オブジェクトについて、Put:ないしGet:というメソッドが予め定義されていなければなりません。矢印はそれらを呼び出すに過ぎません。逆に、新しいクラス定義にPut:ないしGet:というメソッドを定義すれば、そのクラスのオブジェクトに対しては矢印を用いることができます。

この機能拡張の趣旨は、要は、略記法を認めるというに過ぎません。Mopsでは、1バイト、2バイト、4バイト幅の基本的な変数もまたそれぞれのクラスのオブジェクトとして定義されています。これらは、基本的に値を格納したり取り出したりするという操作が中心になりますが、オブジェクトであるという性質上、その都度、put:やget:のメッセージを送らなければなりません。これは結構面倒だ、と。そこで、これをもっと「変数」に近く扱えるよう、記法を簡略化するというのが、この特殊記号の導入の意図、ということです。

もうひとつ注意しておきたいのは、この機能を使うと、Mopsの過去のバージョンとのソースコード上での互換性がなくなるので、一応気をつけてください。この機構はPowerMopsでしか利用できません。


関連項目:





最終更新:2019年11月20日 21:50