의 난 (도우미가 실제로하는) 방법이 있다고 가정 해 봅시다 작업 올리기 ArgumentError: wrong number of arguments (0 for 1)
오류. 이 방법을 다음과 같이 블록으로 호출 할 수 있다는 것을 알고 있습니다.배열에 메서드를 매핑하는 방법은 무엇입니까?</p> <pre><code>(1..10).map &f </code></pre> <p>그것은 분명하지 않습니다이다 :</p> <pre><code>def f(x) x + 1 end </code></pre> <p>내가하고 싶은 것은과 같이 열거 가능한을 통해 매핑하는 것입니다
(1..10).map {|x| f x }
그러나 나에게 우아한 해결책은 아닙니다. 그것에 대해 무엇을 할 수 있습니까?
'(1..10) .map (& : f)'을 사용하면 실제로'1.f','2.f' 등이 호출된다는 것을 명심하십시오. 그래서,'f'가'Fixnum'을위한 메소드가 아니라면, 아무 것도 시도하지 않을 것입니다. –
@CharlesCaldwell 이것이': "을 예제에 추가하지 않은 이유입니다.'f'가 밖에 정의 된 메소드임을 보여줍니다. 'Fixnum' 클래스의. – Andrew