OOPオブジェクトを返すためのメソッドを取得するための手助けが必要です。私はJSLでベクトルのクラスに取り組んでいます。 正規化されたバージョンのベクトルを返すようなメソッドが欲しいのですが。 以下は私のスクリプトとエラーメッセージです。 ありがとうございます。
Clear Log();
Clear Globals();
Define Class(
"vector",
x = 0;
y = 0;
z = 0;
_init_ = Method( {a, b, c = 0},
x = a;
y = b;
z = c;
);
_show_ = Method( {},
Return( x, y, z )
);
mag = Method( {},
magnitude = Sqrt( x ^ 2 + y ^ 2 + z ^ 2 )
);
normalize = Method( {},
nv = vector(0,0,0);
length = Sqrt( x ^ 2 + y ^ 2 + z ^ 2 );
show(length);
nv:x = x / length;
nv:y = y / length;
nv:z = z / length;
nv;
);
);
bob = New Object( vector( 4, 2 ) );
Show( bob );
bob<<NORMALIZE></NORMALIZE>名前未解決:アクセス中のベクトル、または 'vector'の評価、vector(0、0、0)
再:OOPオブジェクトを返すためのメソッドを取得するのに助けが必要です。一般クラスとJMPクラスに関しては私は初心者です。 これは動作します:
Clear Log();
Clear Globals();
Define Class(
"vector",
x = 0;
y = 0;
z = 0;
_init_ = Method( {a, b, c = 0},
x = a;
y = b;
z = c;
);
_show_ = Method( {},
Return( x, y, z )
);
mag = Method( {},
magnitude = Sqrt( x ^ 2 + y ^ 2 + z ^ 2 )
);
normalize = Method( {},
nv = [0,0,0];
length = Sqrt( x ^ 2 + y ^ 2 + z ^ 2 );
show(length);
nv[1] = x / length;
nv[2] = y / length;
nv[3] = z / length;
Print(char(nv));
nv;
);
);
bob = New Object( vector( 4, 2 ) );
Show( bob );
bob = bob:normalize();
show(bob);
Therは自己を渡す方法です。 JMPスクリプトガイドを参考にして、このWebサイトでクラスを検索してください。
再:OOPオブジェクトを返すためのメソッドを取得するのに助けが必要です。ジョージア州、
お返事をありがとうございます。 オブジェクトのコピーを作成してそれを正規化するために使用できるオブジェクトの「クローン」メッセージが見つかりました。 "複雑な"クラスの例のように、メソッドから直接オブジェクトを返す方法について何かを見つけることができるかどうか、私は見回し続けます。
ジョン