Đây là mẫu chung: Nếu biến không tồn tại, tôi nhận được lỗi undefined local variable or method
.Làm cách nào để kiểm tra xem biến có tồn tại với giá trị không có "biến hoặc phương thức cục bộ chưa xác định" không?
Mã hiện tại có if variable_name.present?
nhưng điều này không tính đến biến không tồn tại.
Làm cách nào tôi có thể kiểm tra giá trị của biến và cũng tính đến nó không tồn tại?
Tôi đã thử:
if (defined? mmm) then
if mmm.present? then
puts "true"
end
end
nhưng Ruby vẫn kiểm tra rằng nội mmm.present?
và ném "không như vậy biến" khi nó không tồn tại.
Tôi chắc chắn có một mẫu/giải pháp chung cho điều này.
Ngoài ra chú ý đến các nhà khai thác sở thích và sử dụng dấu ngoặc một cách thích hợp, trong trường hợp này phần thứ hai của biểu thức bao gồm ngoặc, nhưng nếu bạn đang kiểm tra một _boolean_ và bạn không sử dụng dấu ngoặc cho môi trường 'định nghĩa? (Mmm) 'điều kiện sẽ trả về' true'. Vì vậy, khi so sánh phức tạp, bạn nên sử dụng '(định nghĩa? (Mmm)) ' – Asier