다음 루비 튜토리얼 http://rubymonk.com/learning/books/4-ruby-primer-ascent/chapters/41-exceptions/lessons/93-throw-and-catch을 만들고 있습니다. 대신, 검색이라는 방법에서 발견 타일을 반환'던지기'의 대안을 고려하는 방법은 무엇입니까?
변경 마지막 예 : 운동 중 하나는 저를 묻는다. 검색은 평면도를 매개 변수로 받아야합니다.
운동 (운동 전) 마지막 예와 유사하며 다음과 같습니다
candy = catch(:found) do
floor.each do |row|
row.each do |tile|
throw(:found, tile) if tile == "jawbreaker" || tile == "gummy"
end
end
end
puts candy
운동 아래 힌트가 :
방법으로 '캐치'라인을 교체하십시오 정의와 '반환'과 함께 'throw'행 .
와 나는 그렇게 :
candy = search do
floor.each do |row|
row.each do |tile|
return tile if tile == "jawbreaker" || tile == "gummy"
end
end
end
puts candy
하지만 오류가 발생했습니다. 아무도 나에게 긍정적 인 결과를 얻는 방법을 말할 수 있습니까? 그리고 추가 질문 : throw (catch) (catch)와 catch (catch) 코드에서 서로 다른 throw (: found, tile)가있는 이유는 무엇입니까?