나는 루비에 다음과 같은 자세한 기록과 함께 자신이 짜증 찾기 이런 일이 단축 :Ruby Blocks의 약자가 있습니까?</p> <p>가 이상적으로 내가 좋아하는 것까지 (가장자리의 배열을 반환 다각형의 방법이며, 가장자리 <code>polys</code> 다각형의 배열입니다)</p> <pre><code>polys.each { |poly| poly.edges.each {|edge| draw edge.start, edge.end } } </code></pre> <p>가 :
polys.each.edges.each { draw _.start, _.end }
은 더 구체적으로 내가 알고 싶습니다 :
- 어떻게 우리는 첫 번째와 같이 method_missing 해킹을 작성할 수 있습니까? (누락 된 메서드를 호출 할 때 열거자는 열거 형에서 반환 된 각 항목에 대해이 메서드를 호출 할 수 있습니다.
- 기호 또는 기본 이름을 사용하여
|x|
을 제거 할 수있는 방법이 있습니까? 당신이 할 수있는
정말 '드로우 에지인가, 시작 에지인가'입니까? 'draw edge.start, edge.end' 아닌가요? –
Ruby는 런타임까지 수신기에 대해 아무것도 모르기 때문에 Ruby (또는 스크립팅 언어)에서 문제가된다. '[[1,2], [3,4]].를 각각 비교하라. each {| e | {[1,2], [3,4]]와 함께 e {'를 넣는다.} each {| _, e | puts e}'블록 변수의 기본값을 어떻게 사용할 수 있습니까? –
C 코더가 많은 달 전에 "장황한 글쓰기"는 내 얼굴에 미소를 가져다줍니다. 더 짧지는 않지만, 여러분이 가지고있는 것을 분명한 방법으로 분리하는 것이 더 명확 할 것입니다 : def def_edge (edge); draw edge.start, edge.end; 종료; def draw_poly (poly); poly.each {| 가장자리 | draw_edge (edge)}; 종료; def draw_polys (polys) {| poly | draw_poly (폴리)}'. –