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)

<
Last modified:2020/08/04 17:39:03
Keyword(s):
References:[RubyPrimary]