我正在學習ruby,並以某種方式將一些方法定義爲private,並且我得到錯誤:「未定義的方法專用於類...」。我在下面發佈tmy代碼。任何幫助或建議都行!謝謝:)Ruby私有方法
代碼:
class Bot
attr_reader :name
def initialize(options)
@name = options[:name] || "Unnamed Bot"
begin
@data = YAML.load(File.read(options[:data_file]))
rescue
raise "Could not load bot data"
end
private
def random_response(key)
random_index = rand(@data[:responses][key].length)
@data[:responses][key][random_index].gsub(/\[name\]/, @name)
end
def greeting
random_response :greeting
end
def farewell
radnom_response :farewell
end
def response_to(input)
prepared_input = preprocess(input).downcase
end
def preprocess(input)
perform_substitutions input
end
end
end
錯誤:
您的所有方法都在您的構造函數中定義在此代碼段中。 – yamafontes