Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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有预定义的常量TRUE、FALSE和NIL?_Ruby - Fatal编程技术网

为什么Ruby有预定义的常量TRUE、FALSE和NIL?

为什么Ruby有预定义的常量TRUE、FALSE和NIL?,ruby,Ruby,Ruby具有预定义的常量TRUE、FALSE和NIL,它们分别引用TRUE、FALSE和NIL。为什么会这样?为什么人们不能直接使用true,false,和nil?ruby有一个预定义的常量,以避免用大写字母书写的错误,有些人喜欢用大写字母书写这样的特殊常量,所以它只是小写字母的同义词。我想这是一件很方便的事情,就像在c中一样,人们在项目基础上也会这样做: #ifndef (TRUE) #define TRUE (1) #endif 此外,我认为定义这些常量不会造成任何伤害。Ruby在设计上是

Ruby具有预定义的常量
TRUE
FALSE
NIL
,它们分别引用
TRUE
FALSE
NIL
。为什么会这样?为什么人们不能直接使用
true
false
,和
nil

ruby有一个预定义的常量,以避免用大写字母书写的错误,有些人喜欢用大写字母书写这样的特殊常量,所以它只是小写字母的同义词。我想这是一件很方便的事情,就像在c中一样,人们在项目基础上也会这样做:

#ifndef (TRUE)
#define TRUE (1)
#endif

此外,我认为定义这些常量不会造成任何伤害。

Ruby在设计上是多余的。有些人喜欢这样的特殊常量大写;对于C编程语言传统来说,TRUE和FALSE尤其熟悉。ruby是基于社区的需要构建的。。所以,如果人们觉得真实和真实都能增加价值。。。他们加上。。它的社区驱动语言…@RussellBorogove使它成为一种非常好的语言,可以使用
:)
。可能的重复我不认为这是指定示例的完全重复:这个问题问关键字和常量之间的区别是什么;这个问题问为什么关键字和常量做同样的事情。也就是说,这个问题处于意见问题的边缘:我认为只有语言设计师,或者是早期Ruby开发的一部分,才会知道答案。不幸的是,这个问题只会从那些实际上不知道的人那里收集意见,但我希望它仍然是开放的,以防确实知道的人出现。