1

class << selfRubyでどのように引数を渡しますか? 以下で作業しているスニペットがあり、RMagick を使用して画像を生成しようとしています。

#!/usr/bin/env ruby
%w[ rubygems RMagick ].each{|l| require l  }
%w[ Magick ].each{|i| require i }

module ImgGen
  class << self
    def start
      stripes = ImageList.new
      puts "hi"
    end

  end
end

WIDTH=650
HEIGHT=40
FILENAME="output.png"
FONT="winvga1.ttf"
ImgGen.start(WIDTH, HEIGHT, FILENAME, FONT)
4

1 に答える 1

5

引数は に渡されずclass << self、メソッドに渡されます。

module ImgGen
  class << self
    def start(width, height, filename, font)
      stripes = ImageList.new
      puts "hi"
    end
  end
end

混乱した場合の詳細な説明をclass << self読むことができますが、簡単に言うと、クラスのシングルトン クラスが開き、メソッドを追加できるようになります。

于 2012-05-18T22:56:42.010 に答える