2012-03-11 46 views

Trả lời

37

Boolean VÀ toán tử && trả về toán hạng thứ hai nếu trước tiên không sai. 01true trong các biểu thức boolean trong Ruby. Chỉ nilfalse là sai trong biểu thức boolean.

nil && 15 # => nil 
15 && 17 # => 17 
15 && nil # => nil 
7

01 không thể hiện giá trị chân lý trong Ruby. Trong bất kỳ thứ gì ruby ​​không phải là nil hoặc false đều đúng. Nếu bạn thêm vào điều này:

Các toán tử và và & đánh giá toán hạng đầu tiên của chúng. Nếu sai, biểu thức trả về false; nếu không, biểu thức trả về giá trị của toán hạng thứ hai.

Bạn nhận được rằng bạn đánh giá true && true và sau đó kết quả của toán hạng thứ hai được trả về. Nếu bạn đã viết 3 && 4, bạn sẽ nhận được 4!

3

Ngoài câu trả lời tuyệt vời ở đây:

Bạn có thể nhầm lẫn logicBitwise AND.

$ irb 
1.9.3-p125 :001 > 1 & 0 
=> 0 
1.9.3-p125 :002 > 0 & 1 
=> 0 
Các vấn đề liên quan