Trong SO question 2068165 một câu trả lời đưa ra ý tưởng sử dụng một cái gì đó như thế này:Đây có phải là cách sử dụng hợp lý cho && = trong Ruby không?
params[:task][:completed_at] &&= Time.parse(params[:task][:completed_at])
như một cách máy sấy nói
params[:task][:completed_at] = Time.parse(params[:task][:completed_at]) if params[:task][:completed_at]
nơi Hash params sẽ được phát ra từ một hình thức (Rails/ActionView) .
Đó là một loại hệ quả đối với thành ngữ nổi tiếng ||=
, đặt giá trị nếu LHS là không nil/false.
Được sử dụng &&=
như thế này thực sự là một thành ngữ Ruby được công nhận mà tôi đã bỏ lỡ bằng cách nào đó hoặc có tôi chỉ quên một thành ngữ thường được sử dụng hơn? Nó là nhận được khá muộn ...
Các phân tích cú pháp không một số công cụ kỳ lạ: a = 1 nếu một công trình ** ** và b = 1 nếu không bao giờ thất bại ** ** –
để thêm xúc phạm vào thương tích nếu xxx; xxx = 1; kết thúc ** không thành công ** –