Refactoring2r-7
classまであと一歩
テキストではいろいろやってるけど,class導入だけを早うにやりたかったので...
- tossesのところでpointsにしているのはsparklineでしか使ってないよね.そいつは,そのなかで作っちゃえば...
- to_svgとしてtossesを受け取って,そいつをsvgへ受け渡すと考える.
>|ruby| refactoring後 def x_axis(length)
"<!-- x-axis -->
#{SVG.line(0,200,length,200,"#999","1")}"
end def sparkline(tosses)
points = []
tosses.each_index { |i| points << "#{i},#{200-tosses[i]}" }
"<!-- sparkline -->
#{SVG.polyline(points,"none","#333","1")}"
end
def to_svg(tosses)
%Q{<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" > <!-- x-axis -->
#{x_axis(tosses.length)}
#{sparkline(tosses)}
#{spark(tosses.length-1, 200-tosses[-1], tosses[-1])}
</svg>}
end
tosses = values(NUMBER_OF_TOSSES)
puts to_svg(tosses)
| < |
Keyword(s):
References:[RubyPrimary]