首页 > 解决方案 > Ruby 数据类型

问题描述

这三个表达式中哪两个相等?为什么?

{ "city" => "Miami", "state" => "Florida" }
{ :city => "Miami", :state => "Florida" }
{ city: "Miami", state: "Florida" }

标签: ruby

解决方案


在这里的另一个问题中有关于使用 Ruby:symbol与 a的精彩讨论。String

这里有一个很好的讨论,关于Ruby 中粗箭头=>语法与冒号之间的区别。:

您可以快速检查使用的两个哈希:symbols是否彼此等价,这与使用字符串的哈希不同:

a = {"city" => "Miami", "state" => "Florida"}
b = {:city => "Miami", :state => "Florida"}
c = {city: "Miami", state: "Florida"}

a == b
=> false

a == c
=> false

b == c
=> true

推荐阅读