2010-01-08 30 views

Trả lời

7

Điều này sẽ chỉ định bar đến foo nếu (và chỉ khi) foonil hoặc false.

CHỈNH SỬA: hoặc sai, cảm ơn @mopoke.

+0

Hoặc nếu foo là sai. – mopoke

2

Gán bar đến foo trừ khi foo là giá trị thực (không phải false hoặc nil).

+2

Nên là: trừ khi 'foo' là sự thật, có nghĩa là sự thật: không phải là' sai' hoặc 'nil'. – yfeldblum

1

Nếu bạn đang sử dụng nó cho một biến Ví dụ, bạn có thể muốn tránh nó. Đó là vì

@foo ||= bar 

Có thể tăng cảnh báo nếu @foo trước đây chưa được khởi tạo. Bạn có thể muốn sử dụng

@foo = bar unless defined?(@foo) 

hoặc

@foo = bar unless (defined?(@foo) and @foo) 

tùy thuộc vào việc bạn muốn chỉ đơn thuần là kiểm tra xem @foo được khởi tạo, hoặc kiểm tra xem @foo có truthiness (tức là không phải là nil hoặc false) .