1

したがって、#xyz というシンボルを 1 などの数値にマップできる辞書を実装したいと考えています。入力が与えられた場合、#xyz が出力で何回発生するかを識別できなければなりません。

次の構文を使用する必要があると思います

Dictionary newFrom: {#xyz -> 1. #abc -> 2. #klm -> 3} 

しかし、この概念をプログラムに適用することはできません。雑談で特定の値のキー ペアをどのように参照しますか?

私のコードが次のようなことをしなければならなかったとします

りんご10個 + りんご5個 = りんご15個

また

リンゴ10個 + オレンジ5個 = リンゴ10個 + オレンジ5個

次に、いくつかの入力関数で、次のようなことをしなければなりません:

//疑似 c 構文を許してください 私は雑談は初めてです。

if (fruit1 == 1 && fruit2 == 1) //here #apples -> 1
    <br>resultFruit == apples.
<br>else
    <br>resultfruit == 0 //where 0 -> no change ie fruits are different.

これを世間話のコードに変換するにはどうすればよいですか...

どんな助けでも大歓迎です。既知のプロジェクトでのディクショナリの実装を教えていただければ、それがどのように書かれているのかを見て理解できるようにしてください。

4

2 に答える 2

2

辞書の基本的な使用法は、at: または at:put: を呼び出すことです。

辞書を変数に割り当てると想像してください。

myDict := Dictionary newFrom: {#xyz -> 1. #abc -> 2. #klm -> 3}.

それからあなたは書くことができます

myDict at: #xyz

エントリを読み取る#xyz(1 を返す)

または、次の方法で辞書に保存できます

myDict at: #foo put: 123

于 2013-06-14T05:57:40.833 に答える