繁体   English   中英

Ruby on Rails:.constantize:错误的常量名称错误?

[英]Ruby on Rails: .constantize: wrong constant name error?

我正在使用这个:

4.times { |i| assert_not_equal("content#{i + 2}".constantize, object.first_content) }

我之前已经声明了局部变量

content1
content2
content3
content4
content5

我得到的错误

NameError: wrong constant name content2

Whot这个错误意味着什么? 我很确定我想要content2 = \\

你必须用一个大字母调用ruby常量:

Content2 ,而不是content2

常量名称以大写字母开头,后跟名称字符。 类名和模块名是常量,遵循常量命名约定。 按照惯例,常量变量通常使用大写字母和下划线拼写。

链接

应该注意的是,不存在常数变量,而是常数值。

你能否请用户eval(“内容#{i + 2}”)

请注意,eval虽然很危险:-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM