Я программист неофит, поэтому прошу прощения, если это проще, чем кажется. Я искал вокруг и нашел только индивидуальные ответы для each_with_index и условий, а не вместе.Условие every_with_index условие ruby
Моя цель - выполнить итерацию по массиву и выполнить одно действие на основе индекса. Мой первый проект выглядел примерно так:
@word_array.each_with_index do |word, index|
if index % 2 == 0
word = "EVEN"
end
end
Что работает, но тогда я хотел реорганизовать его в одну строку. Моя первая попытка вызова ошибки из-за него предвидя еще :
часть условия:
@word_array.each_with_index { |word, index| index % 2 == 0 ? word = "EVEN" }
Я попробовал этим способ первый думать, что я, возможно, немного удачи является таким, как блок не требует else
состояния, но очевидно, безрезультатно. Я обнаружить, я мог бы использовать nil
в качестве заполнителя и есть код работы:
@word_array.each_with_index { |word, index| index % 2 == 0 ? word = "EVEN" : nil }
Однако даже после дальнейшего чтения на каждой части я нахожусь решаясь или не имея nil
там потенциально может вызвать проблемы в более сложных даже если это не мешает моему основному примеру.
Так разбить его на два вопроса:
1.) является nil
собирается укусить меня в заднице позже?
2.) Если да, то есть ли способ обойти это с помощью одной строки или лучше всего придерживаться условного блока?
Почему бы не 'index% 2 == 0 и word = 'EVEN''? Тернар '? ..: 'для сценариев A/B, а не только A. – tadman