Ruby on rails ruby函数中*的含义
我有一个关于函数调用中*的测量的基本问题,我无法从在线文档中理解:Ruby on rails ruby函数中*的含义,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个关于函数调用中*的测量的基本问题,我无法从在线文档中理解: def self.new(*args, &block) 在上面的函数调用中,*args是什么意思?这意味着您可以传递任何数量的参数,这些参数将存储在此方法内部的args表中。看一看:这意味着您可以传递任何数量的参数,这些参数将存储在此方法内部的args表中。看一看:考虑以下方法 def user(user_name) puts user_name end 所以当你打电话的时候 user("RPV") Outpu
def self.new(*args, &block)
在上面的函数调用中,*args是什么意思?这意味着您可以传递任何数量的参数,这些参数将存储在此方法内部的args表中。看一看:这意味着您可以传递任何数量的参数,这些参数将存储在此方法内部的args表中。看一看:考虑以下方法
def user(user_name)
puts user_name
end
所以当你打电话的时候
user("RPV")
Output:
RPV
=> nil
但是如果你通过了不止一个这样的论点呢
user("RPV", "Marek")
它将给出一个错误
1的参数2的数目错误
为了避免这种错误,splat*运算符很有帮助
def user(*user_name)
puts user_name
end
当您传递多个参数时,它将在数组中处理并转换它
user("RPV", "Marek")
output:
RPV
Marek
nil
它将用户名设置为数组
def user(user_name)
p user_name
end
user("RPV", "Marek")
output:
["RPV", "Marek"]
希望您能使用它。考虑以下方法
def user(user_name)
puts user_name
end
所以当你打电话的时候
user("RPV")
Output:
RPV
=> nil
但是如果你通过了不止一个这样的论点呢
user("RPV", "Marek")
它将给出一个错误
1的参数2的数目错误
为了避免这种错误,splat*运算符很有帮助
def user(*user_name)
puts user_name
end
当您传递多个参数时,它将在数组中处理并转换它
user("RPV", "Marek")
output:
RPV
Marek
nil
它将用户名设置为数组
def user(user_name)
p user_name
end
user("RPV", "Marek")
output:
["RPV", "Marek"]
希望你能使用它