Ok ich verstehe, was ist lokale Variable und was ist globale Variable, aber ich habe in diese Übung 40 auf learnruythethaway für extra Kredit, wo sie jede Methode auf Hash zu tun fragen.Raise Undefined lokale Variable oder Methode
$cities = {"CA" => "San Francisco",
"MI" => "Detroit",
"FL" => "Jacksonville"}
#Adding a new kay with a new value
$cities["NY"] = "New York"
$cities["OR"] = "Portland"
def loop(map,state)
$cities.each do |map,state|
if map.include? state
return map[state]
else
return "Not found."
end
end
end
$cities[:find] = method(:loop)
while true
print "State? (Enter to quit) "
state = gets.chomp
break if state.empty?
#This line is the most important ever! study!
puts $cities[:find].call(cities,state)
end
Der Fehler ist immer mich nicht definiert lokale Variable oder Methode geben ‚Städte‘
Wie dem auch sei, was ich über lokale Variable zu verstehen ist, dass Sie die in der Hauptdatei zugreifen kann, aber wenn es um die globale Variable Sie können ihm $ zuweisen und von der Methode in ihm selbst zugreifen.
Ich habe Forschung über andere undefinierte Variable oder Methode, aber ihre ist ziemlich geradlinig.
Suresh, können Sie einen Link zu der Frage bereitstellen? Dann denke ich, dass jemand Ihnen zeigen kann, wie man diesem Problem den _Ruby Way_ nähert. –
@ sagarpandya82 der Link ist http://media.thebirn.com/webteam/LearnRubyTheHardWay.pdf, Seite 115 unter extra Kredit – Suresh