-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