1
我有以下Ruby代碼:在Ruby中,我可以在不使用模塊名稱的情況下訪問模塊方法嗎?
gallery = ViewableGallery.new(gallery_config.title, gallery_config.description, gallery_config.slug, \
gallery_config.sources, gallery_config.upload_date, gallery_config.map_url, gallery_config.map_title, \
gallery_config.year, viewable_photos).
update_using(\
GalleryGenerator.add_tabs_before_every_description_line(2), \
GalleryGenerator.add_links_to_descriptions, \
GalleryGenerator.for_each_photo(&GalleryGenerator.add_tabs_before_every_description_line(3)), \
GalleryGenerator.for_each_photo(&GalleryGenerator.add_links_to_descriptions), \
GalleryGenerator.for_each_photo(&GalleryGenerator.remove_final_empty_line_from_description))
正如你所看到的,GalleryGenerator重複多次。我能以某種方式放棄嗎?使用這並不能幫助:
include GalleryGenerator
僅供參考,模塊本身:
module GalleryGenerator
def self.add_tabs_before_every_description_line(how_many_tabs)
lambda do |mutable_viewable_content|
mutable_viewable_content.description = add_tabs_before_every_line(mutable_viewable_content.description, how_many_tabs)
return mutable_viewable_content
end
end
# ...
def self.for_each_photo(&update_function)
return lambda do |mutable_viewable_gallery|
mutable_viewable_gallery.photos.each do |mutable_viewable_photo|
update_function.call(mutable_viewable_photo)
end
return mutable_viewable_gallery
end
end
end
我我不知道我是如何錯過的。謝謝,它的工作原理! – Mike 2015-01-09 23:45:11