Tìm thấy bảng http://phrogz.net/programmingruby/language.html#table_18.4 nhưng không thể tìm thấy mô tả cho |=
của Ruby | = phân công điều hành
Làm thế nào các công trình nhà điều hành |=
chuyển nhượng?
Tìm thấy bảng http://phrogz.net/programmingruby/language.html#table_18.4 nhưng không thể tìm thấy mô tả cho |=
của Ruby | = phân công điều hành
Làm thế nào các công trình nhà điều hành |=
chuyển nhượng?
Bitwise OR assignment.
x |= y
là viết tắt cho:
x = x | y
(giống như x += y
là viết tắt cho x = x + y
).
Nó được liệt kê trong liên kết bạn đã cung cấp. Đó là một bài tập kết hợp với bitwise OR. Những thông tin này tương đương:
a = a | b
a |= b
Với Nguyện vọng của ||=
và &&=
có ngữ nghĩa đặc biệt, tất cả các toán tử gán phức hợp được dịch theo quy tắc đơn giản này:
a ω= b
cũng giống như
a = a ω b
Như vậy,
a |= b
tương tự như
a = a | b
Trong những cách nào 'x || = y' khác với' x = x || y'? – mynameiscoffey
@mynameiscoffey xem http://stackoverflow.com/a/14697343/483520 –
Khi làm việc với mảng | = rất hữu ích để thêm vào một mảng duy nhất.
>> x = [1,2,3]
>> y = [3,4,5]
>> x |= y
>> x
=> [1, 2, 3, 4, 5]
toán tử sai - op hỏi về | = – klochner
Bah, lỗi của tôi, cảm ơn bạn đã sửa. Cập nhật câu trả lời của tôi để phản ánh bitwise hoặc, không hợp lý hoặc. – mynameiscoffey
Bitwise OR cho Fixnum, liên minh khôn ngoan cho Array, ... –