Khi lập trình trong Ruby tôi khá thường xuyên có bài tập như sauRuby: Gán đầu ra của một hàm chỉ khi nó không trả lại con số không
test = some_function if some_function
Với bài tập mà tôi muốn gán đầu ra của một chức năng, nhưng nếu nó trả về nil
Tôi muốn giữ nội dung của biến. Tôi biết có các bài tập có điều kiện, nhưng không thể sử dụng ||=
cũng như &&=
ở đây. Cách ngắn nhất mà tôi tìm thấy để mô tả tuyên bố trên là
test = (some_function or test)
Có cách nào tốt hơn/ngắn hơn để thực hiện việc này không?
Điều quan trọng là tôi đã sử dụng phiên bản đầu tiên cho đến gần đây và đánh giá chức năng hai lần. Phiên bản thứ hai như vậy là tốt hơn. Vì tôi phải thay thế phiên bản đầu tiên trong suốt mã của mình, tôi chỉ muốn đảm bảo rằng tôi thay thế nó bằng cách tốt nhất để xử lý việc này - hoặc có thể là cách thực hành tốt nhất. –
Đối với tôi, nó đáng để đặt câu hỏi khi tôi nhận được câu trả lời cho tôi biết ba điều tôi không biết về biểu hiện đơn giản đó. Đầu tiên, sử dụng '||' thay vì 'hoặc'. Thứ hai, hãy xem xét sử dụng 'hiện diện'. Thứ ba, suy nghĩ về cách tiếp cận chức năng. Đó là nhiều hơn tôi đã hy vọng. –