Tôi khá mới với Ruby và Rails nhưng ngay cả sau khi tìm kiếm tràn ngăn xếp và google tôi không thể tìm thấy câu trả lời cho điều này.Biểu thức bậc ba với "được xác định?" trả về "biểu thức" thay vì giá trị?
Tôi đã có một Ruby viết tắt đơn giản nếu tuyên bố rằng sẽ trả về một integer
như vậy:
# in the context of this erb document `amount` is defined as 5.
@c = (defined? amount ? amount : r(1,4))
r()
là một hàm helper tùy chỉnh mà trả về một số ngẫu nhiên giữa trong trường hợp này 1 và 4.
Cách tôi định làm việc này là if
amount
được xác định, sau đó sử dụng số được xác định là amount
, else
tạo số ngẫu nhiên từ 1 đến 4 và sử dụng số đó thay thế.
Khi in ra @c
tuy nhiên kết quả đầu ra của Ruby expression
thay vì số.
Tôi phải làm gì để làm việc này như tôi dự định và tôi đang làm gì sai?
Rất cám ơn bạn đã đọc!
Hoàn hảo, cảm ơn rất nhiều! Rõ ràng là tôi vẫn chưa tìm hiểu thêm về những điều cơ bản này nhưng điều này rất hữu ích 'số tiền || r (x, y) 'hoạt động chính xác như tôi muốn và tất cả đều có ít ký tự hơn cùng một lúc. – Jannis