オブジェクトのハッシュ値 [SuperCollider]

- 2013-07-16

SuperColliderで

 object.hash でそのオブジェクトの一意のハッシュ値が帰ってくる。

こんな使い方はどうだろう、例えばインスタンスメソッド内でタスクを実行する時、 他のインスタンスで上書きされるのを防ぐのに使う。

クラス宣言のインスタンスメソッド内で以下のようにハッシュ値を使ってシンボル名を作ってTdefを実行するようにする...

 

var taskName; taskName = ("task_"++this.hash.asString).asSymbol;

Tdef(taskName,{ "this is task".postln; }).play;  

すると他のインスタンスとシンボル名かぶらずに、かつインスタンスにつき一タスクが実行される。 他にもたくさん使い道はあると思う。