1
이 메서드가 실행되지 않는 이유는 확실하지 않습니다.해시가 있고 실행중인 proc 인수가없는 메서드
sequence5.rb:1:in `sequence5': wrong number of arguments (2 for 1) (ArgumentError) from sequence5.rb:11:in `<main>'
을하지만 당신은 명확하게 볼 수있는, sequence5
방법은 2 개 인자, args
해시에 대한 하나 b
시저의 다른를 취해야한다 :
컴파일 오류가 읽습니다.
내가 실행하려고하는 코드는 여기에 있습니다.
def sequence5(args, &b)
n, m, c = args[:n], args[:m], args[:c]
i = 0
while i < n
b.call(i*m+c)
i += 1
end
end
p = Proc.new {|x| puts x}
sequence5({:n=>3, :m=>4, :c=>0}, p)
감사합니다 블록을 전달하는 구문이 다른! 이것은 문제를 해결했습니다. –