关于ruby的课程要求编写一个Title
类,该类用字符串初始化。它有一个方法fix
,它应返回字符串的标题版本。以下是我的代码。
class Title
attr_reader :string
def initialize(string)
@string = string
end
def fix
not_capitalized = %w{a and the of}
word_array = string.downcase.split(" ")
title_array = []
word_array.each_with_index do |word, index|
if index == 0 || !not_captialized.include?(word)
title_array << word.capitalize
else
title_array << word
end
end
title_array.join(" ")
end
end
我一直在获取NameError未定义的局部变量或方法`not_captialized'。我做错了什么?
答案 0 :(得分:2)
你的变量中有一个拼写错误。
第一个是not_capitalized
第二个是not_captialized
只需重命名第二个,它应该可以正常工作
即。 if index == 0 || !not_capitalized.include?(word)
答案 1 :(得分:-1)
正如错误消息所示。您从未定义过局部变量或方法not_captialized
,但正在尝试使用它。