这是几个问题包装在一个。我看到最近使用的方法“< < =”。我能够将所做的事情拼凑在一起,但没有其他任何事情。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有你的答案。它类似于'+ =','|| ='等等。 –