people = {}
def add
puts "Enter the name of the person you would like to add in the database."
name = gets.chomp.to_s
if people[name].nil?
puts "What is #{name}'s age?"
age = gets.chomp.to_i
people[name] = age.to_i
end
puts "Would you like to add?"
choice = gets.chomp
if choice == "yes"
add
end
end
내 메소드 외부에있는 사람이 "추가"되었으므로 "정의되지 않은 지역 변수 또는 메소드 main : Object NameError) "Ruby에서 메소드에 변수를 호출하는 방법 (레일이 아님)
[이름] .nil 사람이 곧 오류가 발생합니다. 라인이 온다.
데이터베이스를 만들어야하는데, 업데이트 및 삭제와 같은 더 많은 방법이 있습니다.이 방법에서는 "사람"을 어떻게 사용합니까?
:
바와 같이 theTinMan 지적, 올바른 솔루션은 함수에
people
를 전달하여, 처음부터 글로벌 변수의 사용을 피할 수있는 방법으로 코드를 리팩토링하는 것입니다 d는 코드를 정확하게 들여 쓰기를 강력하게 제안합니다. 그것은 미래의 자신을 많은 고뇌로 구원 할 것입니다. –