我最近发现在 Python 中,你可以这样做:
array = [1, 2, 3, 4]
if 3 in array:
print("Yep!")
然后,我心想:“嗯,为什么它在 Ruby 中有所不同?if 3 in array
比 . 更具可读性if array.include? 3
。” 然后,我意识到,Ruby 是纯粹的 OOP,而且这种方法是基于关键字的。
但是,我仍然想知道。如果 Python 方法不是 OOP,为什么在 Ruby 中不能有另一种更短且更具可读性的方法?思考时,我不认为“这个列表是否包含那个元素?”,而是“这个元素在那个列表中吗?”。
假设,以下代码是可能的:
array = [1, 2, 3, 4]
if 3.in? array
print "Yep!
end
list.method(element)
我看到这是从到的转机element.method(list)
。所以,我想知道:哪些 ruby 原则/规则反对上述代码?
编辑:哎呀,我写了“基于键盘”,但当然意思是“基于关键字”。强调这一点:我不是在寻找表现得像 in? 方法; 我正在寻找为什么它没有以这种方式在 Ruby 中实现的原因。