而不是打電話cop_log.read_spreadsheet
當我使用ChangeOrderLog.new('path/to/file')
時,如何直接在我的班級中調用方法read_spreadsheet
?如何在對象初始化時調用方法?
cop_log.read_spreadsheet
用excel電子表格中的數據填充@cop_log
散列,有沒有什麼辦法可以在我的ChangeOrderLog類中填充我的散列而不是在其外部?
require 'creek'
class ChangeOrderLog
attr_reader :creek, :sheet
attr_accessor :cop_log
def initialize(file)
@creek = Creek::Book.new file
@sheet= @creek.sheets[0]
@cop_log = {}
end
def read_spreadsheet
sheet.rows.each { |row| cop_log.merge!(row) }
end
def job_number
return cop_log['G1']
end
end
cop_log = ChangeOrderLog.new('path/to/file')
cop_log.read_spreadsheet
puts cop_log.job_number
把它放在'initialize'中。 – Schwern