2013-11-04 61 views
0

我有一個類重載運算符'&','|'我想知道他們的優先level.I的意思是,如果我有這個「!」:Ruby中重載運算符的優先級

instance1 & instance2 | isntance3 

纔可保證是將要發生的第一件事將是instance1 & instance2

,然後所述result->result | isntance3

+0

無論答案如何,在這種情況下使用圓括號可能是個好主意。 – Max

+0

你可以用irb自己回答這個問題:i1 = [1,2,3]; i2 = [1,4]; i3 = [5]; i1&i2 | i3#=> [1,5]; (i1&i2)| i3#=> [1,5]; i1&(i2 | i3)=> [1] –

回答

1

這是一個簡單的谷歌quesiton

&至上,然後|

請參閱Ruby Operator Precedence

無論您是否超載操作員,操作員的處理順序都不會改變。

+0

我知道他們的優先級。我問我是否讓他們超載。 – user2128702

+0

@naomik沒有作品想看看是否保留當OP會超載這些... –

+1

@sawa,感謝您的官方鏈接。我似乎無法找到它。 – naomik