에 번호를 변환하려고 나는 작동하는 간단한 프로그램을 썼다. 당신이 그것을 변환해야하므로,바이너리 형식
`to_s': wrong number of arguments(1 for 0) (ArgumentError)
에 번호를 변환하려고 나는 작동하는 간단한 프로그램을 썼다. 당신이 그것을 변환해야하므로,바이너리 형식
`to_s': wrong number of arguments(1 for 0) (ArgumentError)
당신은 문자열로 시작하는 것 : 이것은 내가 점점 계속 오류입니다
puts 'Please enter a number you would like to see expressed in binary form'
i = gets.chomp
b = i.to_s(2)
puts b
: 이것은 내가 쓴 것입니다
i.to_i.to_s(2)
문자열의 #to_s
메서드는 인수를 사용하지 않습니다.
그것은 당신이 Fixnum#to_s
을 사용할 것으로 보인다하지만 문자열을 반환 gets.chomp
프로그램에서, 당신은 실제로 String#to_s
를 호출 할 수 있도록 당신이 할 수 있습니다 :
i = gets.chomp.to_i
왜 'Fixnum # tos'가 재정의 된 것이라고 생각하십니까? – tadman
@ tadman 내 잘못입니다. – xlembouras
'(6 * 9) .to_s (13)'은''42 "'를 반환하기 때문에이 방법이 매우 편리합니다. – tadman
당신은 chomp
방법이 필요하지 않습니다, #to_i
이 처리합니다.
쓰기가로 : Kernel#gets
는 항상 당신에게 문자열 객체를 제공하기 때문에 당신이 생각하는대로
puts 'Please enter a number you would like to see expressed in binary form'
i = gets.to_i
b = i.to_s(2)
puts b
당신은하지 integer
에, 만일 문자열 to_s
을 요구하고있다.
먼저, 다음 인수 걸리는 Fixnum
인스턴스에 Fixnum#to_s
전화, Fixnum
로 변환하지만, String#to_s
는 루비에서 불만을 가지고 왜 인수을 허용하지 않습니다.
그런 설명을 부탁드립니다. 매우 감사! =) – user273072545345
변경 사항은 무엇입니까? '4' 또는'2'? –
@ArupRakshit, 죄송합니다. 우연히 끝나기 전에 질문을 올렸습니다. 지금은 더 완벽 해. – user273072545345