こんにちは私はSmalltalkで小さなプログラムを実行する必要がありますが、私は何が間違っているのか分かりません。 私は抽象クラスClass1を持っていますが、Class2のようなサブクラスはほとんどありません。オブジェクトのSmalltalkコピーと変数の作業
私がしたいことは、Class1クラスのメソッドのオブジェクトを自分自身のコピーとして作成し、それに戻ってから作業してください。奇妙に聞こえるかもしれませんが、私は説明が面倒です。
は、私の方法は次のようになります。
|temp|
temp:= self DeepCopy.
1 to: temp >> arrayName size do:
[i: | tenp >> arrayName at i: put (temp >> arrayName at: i) + 10].
^temp
これはSmalltalkの中に私の最初のプログラムであり、もちろん、それは多分あなたは、この言語を知って、あなたは助けることができる、機能していません(値はクラス1から変数です)私は少し。
はあなたに
ありがとう//////////////////////////////////////// ////////////////////////////編集
私の方法
move: vector
| temp |
temp :=self deepCopy.
1 to: temp points size do:
[:i | temp points at: i put: (temp points at: i) + vector].
^temp .
と利用
geo_1:=(Triangle new) initialize 10.
geo_2:= geo_1 move: [email protected]
OK。そして何が効いていないのですか?どのようなエラーが出ますか? –
@Leandro Canigliaは未処理の例外に関するエラーです:メッセージが理解できません:#deepCopy – Eken
'copy'を試してください。それは動作するはずです。 –