ruby-on-rails - => 运算符与 = 运算符

标签 ruby-on-rails ruby operator-keyword

我刚开始学习ruby on rails,不知道什么时候应该用“=>”,什么时候应该用“=”赋值。我看到您使用“=>”作为哈希值,以便为迁移中的符号赋值,但我不确定在哪里划清界限。

谢谢!

最佳答案

=> 符号仅用于哈希。 Ruby 有一个特性,可以将散列作为最后一个参数传递给方法调用,而不包括周围的大括号。这提供了类似于关键字参数的东西(尽管在 Ruby 2.0 之前,Ruby 没有关键字参数)。

所以当你看到这个时:

t.integer :foo, :default => 5

真正的意思是:

t.integer(:foo, { :default => 5 })

剩下的只是为了让它看起来更好看而设计的语法糖。

另一方面,= 符号是您从几乎所有编程语言中了解和喜爱的赋值运算符。

关于ruby-on-rails - => 运算符与 = 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15446341/

相关文章:

ruby-on-rails - Rails 优化复杂查询

ruby-on-rails - Windows 上 Rails 的延迟工作?

mysql - 使用 Ruby 迭代 JSON 并插入到 MySQL 数据库

c++ - 我可以命名 ostream << 运算符吗?

ruby-on-rails - Rails 5.2 部分计数器 : "undefined local variable or method" error

ruby-on-rails - Rails Assets 管道和字节服务 HTML5 视频

ruby-on-rails - 存储数据库中引用的常量的最佳方式?

ruby - 在 Ruby 中动态创建字符串

c++ - C++ 中的 friend 和模板

c++ - 重载 new 和 delete 时堆崩溃