接下来我要教你另外一种让你伤脑筋的容器型资料结构,因为一旦你学会这种资料结构,你将拥有超酷的能力。这是最有用的容器:Hash。
Ruby 将这种资料类型叫做「Hash」,有的语言里它的名称是「dictionaries」。这两种名字我都会用到,不过这并不重要,重要的是它们和数组的区别。你看,针对数组你可以做这样的事情:
1 2 3 4 5 6 7 8 9 10 11 12 |
ruby-1.9.2-p180 :015 > <span class="nv">things</span> <span class="o">=</span> <span class="o">[</span><span class="s1">'a'</span>,<span class="s1">'b'</span>,<span class="s1">'c'</span>,<span class="s1">'d'</span><span class="o">]</span> <span class="o">=</span>> <span class="o">[</span><span class="s2">"a"</span>, <span class="s2">"b"</span>, <span class="s2">"c"</span>, <span class="s2">"d"</span><span class="o">]</span> ruby-1.9.2-p180 :016 > print things<span class="o">[</span>1<span class="o">]</span> <span class="nv">b</span> <span class="o">=</span>> nil ruby-1.9.2-p180 :017 > things<span class="o">[</span>1<span class="o">]</span> <span class="o">=</span> <span class="s1">'z'</span> <span class="o">=</span>> <span class="s2">"z"</span> ruby-1.9.2-p180 :018 > print things<span class="o">[</span>1<span class="o">]</span> <span class="nv">z</span> <span class="o">=</span>> nil ruby-1.9.2-p180 :019 > print things <span class="o">[</span><span class="s2">"a"</span>, <span class="s2">"z"</span>, <span class="s2">"c"</span>, <span class="s2">"d"</span><span class="o">]</span> <span class="o">=</span>> nil ruby-1.9.2-p180 :020 > |
