저는 Ruby에 익숙하지 않아 해시 인수를 배우는 중입니다. 난 그냥 해시 인수를 사용하는 경우 값을 반환하는 방법에 대한 질문이Ruby에서 해시 인수로 값을 반환하는 더 좋은 방법이 있습니까?
다음 코드와 같은 해시 인수 test_method라는 메소드를 포함하는 테스트라는 클래스 생성 :
class Test
def test_method(names={})
names[:firstname]
names[:lastname]
return names
end
end
을 그리고 그것을 호출 같은
test = Test.new
myname = test.test_method(firstname: 'Tester', lastname: 'Testing')
puts myname
물론, 내가 가진 결과는
그래서, 내가 다른 사용 "FIRSTNAME 테스터 LASTNAME 테스트"입니다 방법. I가 10 개를 초과하는 경우 내가 원하는 결과를 얻을 수 있어요
def test_method(names={})
@firstname = names[:firstname]
@lastname = names[:lastname]
return @firstname, @lastname
end
하지만 [: FIRSTNAME] 이름 [: LASTNAME, 다음과 같이 나는 두 개의 인스턴스 변수가 @firstname와 이름 @lastname 설정 논쟁을 설정해야합니까? 결과를 얻는 더 좋은 방법이 있다면?
반대로이 시도' test_method'는 클래스 메소드가 아닙니다. – sawa
아, 네. 감사. 그것은 단지 방법입니다. – user2727616
@ user2727616'puts myname'은'firstname Tester lastname Testing'이 아니라'{firstname => "Tester", : lastname => "Testing"}'을 출력합니다. 원하는 출력은 무엇입니까? 'test_method'는 무엇을 반환해야합니까? 배열, 문자열? – Stefan