红宝石标题案例问题

时间:2016-01-25 03:09:23

标签: ruby

关于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'。我做错了什么?

2 个答案:

答案 0 :(得分:2)

你的变量中有一个拼写错误。

第一个是not_capitalized

第二个是not_captialized

只需重命名第二个,它应该可以正常工作

即。 if index == 0 || !not_capitalized.include?(word)

答案 1 :(得分:-1)

正如错误消息所示。您从未定义过局部变量或方法not_captialized,但正在尝试使用它。