To jest typowy wzorzec: jeśli zmienna nie istnieje, pojawia się błąd undefined local variable or method
.Jak sprawdzić, czy istnieje zmienna o wartości bez "niezdefiniowanej zmiennej lokalnej lub metody"?
Istniejący kod ma if variable_name.present?
, ale nie uwzględniono zmiennej nieistniejącej.
Jak mogę sprawdzić wartość zmiennej, a także wyjaśnić, że nie istnieje?
Próbowałem:
if (defined? mmm) then
if mmm.present? then
puts "true"
end
end
ale Ruby wciąż sprawdza, czy wewnętrznej mmm.present?
i rzuca „nie taki zmienny”, gdy nie istnieje.
Jestem pewien, że istnieje wspólny wzór/rozwiązanie.
zwracać uwagę również operatorom preferencjami i odpowiednio użyć nawiasów, w tym przypadku druga część wypowiedzi zawiera nawias, ale jeśli sprawdzanie _boolean_ i nie używać nawiasów dla 'zdefiniowane? (Mmm) 'warunek zwróci' true'. Więc w ramach złożonego porównania dobrą praktyką jest używanie '(zdefiniowane? (Mmm))' – Asier