ruby 代码 : why put colon in front of variable name (inside initialize method)

标签 ruby

我遇到了一些 Ruby 代码, 我试图理解为什么变量在 initialize 方法声明中的名称末尾有冒号。

冒号有什么原因吗?

attr_reader :var1, :var2

def initialize(var1:, var2:)
   @var1 = var1
   @var2 = var2
end

最佳答案

那些是关键字参数。

您可以按名称而非位置使用它们。例如

ThatClass.new(var1: 42, var2: "foo")

ThatClass.new(var2: "foo", var1: 42)

An article about keyword arguments by thoughtbot

关于 ruby 代码 : why put colon in front of variable name (inside initialize method),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40399730/

相关文章:

ruby-on-rails - Mina 部署 rvm_path

ruby-on-rails - 动态获取对象的属性

ruby-on-rails - 如果我有 IDEA,我需要 ruby​​mine 来开发 ruby​​ 还是两者兼而有之?

ruby - Sinatra、Mongoid、Heroku、MongoHQ : connecting to Mongodb

ruby - REXML 在 ruby​​ 中解析 XML

ruby - 如何在 Rails 中发出异步 http 请求

ruby-on-rails - 限制每个do循环

ruby - 在 sinatra 中的路由定义中使用参数

ruby - 为什么是替换而不是替换!对于 ruby 中的字符串?

ruby /node.js + 亚马逊 SES : Is there an Amazon SES API?