Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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 “包括所有”是什么意思?_Ruby_Metaprogramming - Fatal编程技术网

Ruby “包括所有”是什么意思?

Ruby “包括所有”是什么意思?,ruby,metaprogramming,Ruby,Metaprogramming,这是一个定义对缺失的回应?当重写方法_丢失时为类 但是,我看到它接受两个参数:方法名和include_all。我试图找到第二个参数的实际含义以及为什么设置为false的解释,但什么也找不到。即使是文档也没有提到这一点。我尝试过使用这个方法,看看这个参数是否对返回值有一些影响,但找不到任何影响。有人能解释一下为什么存在include_all吗?来自评论: 嗯。。。所以你的意思是,即使目前没有办法将缺失的方法设为私有,你也可以使用respond_to_missing?通过不宣传缺少的方法的存在来部分

这是一个定义对缺失的回应?当重写方法_丢失时为类

但是,我看到它接受两个参数:方法名和include_all。我试图找到第二个参数的实际含义以及为什么设置为false的解释,但什么也找不到。即使是文档也没有提到这一点。我尝试过使用这个方法,看看这个参数是否对返回值有一些影响,但找不到任何影响。有人能解释一下为什么存在include_all吗?

来自评论:

嗯。。。所以你的意思是,即使目前没有办法将缺失的方法设为私有,你也可以使用respond_to_missing?通过不宣传缺少的方法的存在来部分模仿这种行为,您可能希望这些方法是私有的

如果您调用一个方法respond\u to?:可能是\u private\u method,true,那么在您的方法respond\u to\u missing?方法\u name中,include\u您将得到的所有值include\u all为true,您可以从中进一步模拟方法作用域


我认为没有任何其他特殊行为

正如后面的答案所概括的那样,这个答案非常糟糕。