這是幾個問題包裝在一個。我看到最近使用的方法「< < =」。我能夠將所做的事情拼湊在一起,但沒有其他任何事情。Ruby二進制方法<< =
$ dec = 2
$ dec <<= 1
=> 4
$ dec
=> 4
$ dec <<= 2
=> 16
我認爲這是基本上是總和加上乘以一個快捷方式在未來第n個位置的二進制:
$ a = 2 * 2 ** 1
=> 4
$ a = a * 2 ** 2
=> 16
,如果你嘗試在一個Fixnum本身
$ 4 <<= 1
=> SyntaxError: unexpected tOP_ASGN, expecting end-of-input
1 <<= 1
^
它不工作
我搜索了幾個小時,無法找到它在紅寶石文檔中的位置。
- 這是哪裏的文檔?
- 這個活生生的類或模塊是什麼?
- 爲什麼僅當您首先將其分配給變量時才起作用?
謝謝!
'a << = b'是'a = a << b'的簡寫形式。 – Michas
@Michas有你的答案。它類似於'+ =','|| ='等等。 –