<分区>
在学习 Ruby 时,我偶尔会遇到“=>”运算符。通常我以
的形式看到它:symbol => value
它似乎在将值传递给函数时经常使用。那个运营商到底叫什么?这是什么意思?它是 Ruby 内置的还是 Rails 和 DataMapper 等不同框架添加到符号类中的东西?它只与符号类一起使用吗?谢谢。
<分区>
在学习 Ruby 时,我偶尔会遇到“=>”运算符。通常我以
的形式看到它:symbol => value
它似乎在将值传递给函数时经常使用。那个运营商到底叫什么?这是什么意思?它是 Ruby 内置的还是 Rails 和 DataMapper 等不同框架添加到符号类中的东西?它只与符号类一起使用吗?谢谢。
最佳答案
=>
将 HashMap 文字中的键与值分开。它不可重载,也没有专门连接到符号。
hashmap 字面值的形式为 {key1 => value1, key2 => value2, ...}
,但当用作函数的最后一个参数时,可以省略花括号.所以当你看到像 f(:a => 1, :b => 2)
这样的函数调用时,f
是用一个参数调用的,它是一个 hashmap,它有键 :a
和 :b
以及值 1
和 2
。
关于ruby-on-rails - 在 Ruby 中, "=>"是什么意思,它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4663074/
相关文章:
ios - Objective C NSPredicate 两个属性的总和
ruby-on-rails - Rake 测试失败 assert_match
ruby-on-rails - Rails - 抽象类定义和文件命名的最佳实践
ruby-on-rails - rails 3 : Retrieve all objects that have a certain value NOT equal to another value?
ruby-on-rails - 如何在 Ruby 中推送数组中的元素?
ruby-on-rails - 用于查找丢失的外键的 Rails 插件