class Book
# write your code here
attr_accessor :title
def title= (title)
@title = title.split()
@title = @title.map {
|x|
index = @title.index(x)
if x == 'and' or x == 'in' or x == 'of' or x == 'the' or x == 'a' or x == 'an' and index != 0
x = x
else
x.capitalize
end
}
@title = @title.join(" ")
return @title
end
end
Это упражнение из Проекта Ruby по Проекту Один. Речь идет о том, чтобы заглавные буквы книги были привязаны к определенным условиям жизни, если слово является предлогом, статьей или соединением, тогда не пишите его заглавными буквами, если оно не встречается в начале названия, а затем пишите заглавными буквами. Я написал код для него, но он не работает, как вы можете видеть:
index = @title.index(x)
if x == 'and' or x == 'in' or x == 'of' or x == 'the' or x == 'a' or x == 'an' and index != 0
x = x
else
x.capitalize
end
Но опять-таки он не работает
expected: "The Man in the Iron Mask"
got: "The Man in The Iron Mask"
Второй The
становится заглавным также, когда я сказал в утверждении if
, что если оно не равно первому слову, не пишите его с заглавной буквы, но оно по-прежнему пишется с заглавной буквы.