-1
A
回答
2
@myVar = @myVar | 2 //bitwise or operator
如果myVar的最初是0,这会做这等于2
if @myVar & 3 == 3 // bitwise AND, and boolean compare
will do myVar & 3 and将检查结果是否等于3
@myVar = 2
if @myVar == 3
这是完全不同的,没有运算符(oter than = 2)被应用。所以结果总是一样的。它总是将2
分配给myVar,并检查它是否等于3
。你可能也已经写if 2 == 3
1
我是新来的Ruby和我不明白这些语法:
@myVar = @myVar | 2 if @myVar & 3 == 3
有几个语法元素的第一行:
foo = bar
是分配。@foo
是一个实例变量。foo | bar
是二进制缀运算符,和类似的(几乎所有的)二进制中缀运算符(具有||
例外,&&
,and
,和or
),它是用于foo.|(bar)
语法糖,即发送该消息|
到通过评估foo
通过评估bar
获得的对象作为单个参数获得的对象。2
是整数字面值。
第二行在语法上无效。
为什么有从不同:
@myVar = 2 if @myVar == 3
第一行再次由一个实例变量,分配,和文字的整数,第二线又在语法上是无效的。
相关问题
- 1. 是什么意思:是什么意思?
- 2. SURF的min_dist和max_dist是什么意思,FlannMatcher是什么意思
- 3. `^^^`和`〜>`是什么意思?
- 4. Clojure:`和〜@是什么意思?
- 5. 什么是目录名'。'和'..'是什么意思,faDirectory是什么意思?
- 6. 什么|和“是什么意思?
- 7. %{}是什么意思?
- 8. '#'是什么意思?
- 9. “?”是什么意思?
- 10. #{...}是什么意思?
- 11. || =是什么意思?
- 12. @是什么意思
- 13. $$ $$是什么意思?
- 14. `/ * @`是什么意思?
- 15. “=”是什么意思
- 16. + =是什么意思?
- 17. {..} [..]是什么意思?
- 18. 什么是:!:意思?
- 19. @ []是什么意思?
- 20. 什么是“||”意思?
- 21. /([^.]*)\.(.*)/是什么意思?
- 22. &**是什么意思?
- 23. @(...)是什么意思?
- 24. &@是什么意思?
- 25. “\\。\”,“\ ?? \”,“\\?\”,“\\”是什么意思?
- 26. &=是什么意思?
- 27. {%=%}是什么意思?
- 28. 是什么意思?
- 29. %%是什么意思?
- 30. {}是什么意思?
这些是按位运算符,不是布尔运算符。 – eugen