Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 什么是;参数数目错误(1代表0)";用红宝石是什么意思?_Ruby - Fatal编程技术网

Ruby 什么是;参数数目错误(1代表0)";用红宝石是什么意思?

Ruby 什么是;参数数目错误(1代表0)";用红宝石是什么意思?,ruby,Ruby,“参数错误:参数数目错误(1代表0)”是什么意思?您将参数传递给了一个不接受任何参数的函数。例如: def takes_no_arguments end takes_no_arguments 1 # ArgumentError: wrong number of arguments (1 for 0) 我假设您调用了一个带有参数的函数,该参数的定义没有采用任何形式 def f() puts "hello world" end f(1) # <= wrong number of

“参数错误:参数数目错误(1代表0)”是什么意思?

您将参数传递给了一个不接受任何参数的函数。例如:

def takes_no_arguments
end

takes_no_arguments 1
# ArgumentError: wrong number of arguments (1 for 0)

我假设您调用了一个带有参数的函数,该参数的定义没有采用任何形式

def f()
  puts "hello world"
end

f(1)   # <= wrong number of arguments (1 for 0)
def()
把“你好,世界”
结束

f(1)#定义函数时,还可以定义该函数需要使用的信息(参数)。如果它被设计为在没有任何附加信息的情况下工作,并且您传递了一些信息,那么您将得到该错误

例如: 不接受任何参数:

def dog
end
def cat(name)
end
接受参数:

def dog
end
def cat(name)
end
调用这些函数时,需要使用定义的参数调用它们

dog                  #works fine
cat("Fluffy")        #works fine


dog("Fido")          #Returns ArgumentError (1 for 0)
cat                  #Returns ArgumentError (0 for 1)

查看以了解所有这些信息。

如果从使用带一个参数的lambda改为使用带一个参数的函数,则会出现此错误

例如:

def takes_no_arguments
end

takes_no_arguments 1
# ArgumentError: wrong number of arguments (1 for 0)
你有:

foobar = lambda do |baz|
  puts baz
end
你把定义改为

def foobar(baz)
  puts baz
end
你留下了你的召唤:

foobar.call(baz)
然后你就明白了

ArgumentError: wrong number of arguments (0 for 1)
当你真正的意思是:

foobar(baz)

-1
Cat.new(“Fluffy”)
不能正常工作。它给出了“未初始化常量Cat”和
Cat()。new(“Fluffy”)
给出了“ArgumentError:错误的参数数(0代表1)”。更像是解释参数错误的简单直观表示。但是如果你担心的话,请解决它
其他答案可能在技术上更为有效,但对于像“什么是ArgumentError”这样的基本问题,可能没有帮助。bennett_an感谢您提供Ruby Koans的链接,看起来很有趣。