Ruby syntax reference說,關於case語句:爲什麼「foo」不是===到/ foo /當比賽成功的情況下?
比較是由運營商完成
===
INFACT,例如:
ruby -e 'puts (1..3) === 2'
打印true
,但:
ruby -e 'puts "foo" === /foo/'
個打印false
,也:
ruby -e 'puts :foo === /foo/'
打印false
,但所有這些例子都是case語句成功的條件。它是如何工作的?
嘗試'/ foo/===「foo」'。你的想法如何'案件'工作改變?請記住,只有* receiver *在Ruby中是隱式多態的,並且'a === b'實際上是'a .__ send __(:===,b)'。 – 2012-03-25 22:34:37
我沒有考慮訂單>。<謝謝 – mdesantis 2012-03-25 22:55:42