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]