gpt4 book ai didi

ruby - 我试过用常量参数名称在 ruby​​ 中定义一个函数,为什么会抛出错误?

转载 作者:太空宇宙 更新时间:2023-11-03 17:42:17 25 4
gpt4 key购买 nike

每当我尝试执行 def foo(CONST1, CONST2)... 时,它总是给出错误,即使只有函数名称是常量也是如此。


# Error!
def foo (BAR, BAZ)
puts BAR + BAZ
end

最佳答案

Ruby 是一种异常区分大小写的语言,因此您不能执行某些操作,因为大写字母具有句法含义。其他语言不关心,但 Ruby 关心。

例如,您的方法参数必须是变量。您不能在此处定义常量。开头大写字母表示常数,无一异常(exception)。

您应该将其定义为:

def foo(const1, const2)
# ..
end

一些规则:

  • 方法名称、变量和参数是lower_case
  • 类和模块分别遵循ClassNameModuleName。这些在技术上是常数。
  • 其他常量定义为CONSTANT_NAME

我不确定你想通过定义“常量参数名称”来实现什么,所以如果你能解释一下,也许这里有更好的答案。

关于ruby - 我试过用常量参数名称在 ruby​​ 中定义一个函数,为什么会抛出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57502383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com