所以我想实现一个字典,在那里我可以将#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.
如何将其转换为小谈话代码...
感谢任何帮助。如果您可以指出我在任何已知项目中的字典实现,请这样做,以便我可以看到并理解它应该如何编写。
答案 0 :(得分:2)
字典的基本用法是通过以下方式调用:或者:put:
想象一下,您将字典分配给变量:
myDict := Dictionary newFrom: {#xyz -> 1. #abc -> 2. #klm -> 3}.
然后你可以写
myDict at: #xyz
阅读条目#xyz
(返回1)
或者您可以通过
将内容存储在字典中 myDict at: #foo put: 123
答案 1 :(得分:1)
我不了解字典的想法,但关于你的例子,我建议下一个策略:
创建一个类Fruits
,它知道那里有多少苹果和其他水果。然后在Integer
中创建一个DSL方法,例如apples
和oranges
,它将返回具有指定数量水果的新Fruits
对象。然后在+
中创建=
和Fruits
方法,以便您可以合并水果并进行比较。
如果我误解了您的问题,请告诉我。