В настоящее время существует много подобных вопросов, но не один, где предупреждение происходит в «случае, когда выражение»Избегайте: уже инициализирован константа в «случае, когда»
я получаю предупреждение: уже не инициализируется константа для каждого (я знаю, что они называются разными в рубине «switch» = «case» | «case» = «when», но я думаю, что вы поняли идею)
Мой код:
Type = case entity.class.to_s
when 'A' then 1
when 'B' then 10
when 'C' then 2
when 'D' then 7
else raise "Unknown Type"
end
Как избавиться от предупреждения, потому что я просто инициализирую его при t op, или я что-то пропустил?
Отредактировано: My Code находится внутри цикла. Например:
loopcounter = 0
EntityType = 'test'
while loopcounter < 4
EntityType = case 'StDm'
when 'StDm' then 1
when 'Drt' then 10
when 'Pst' then 2
when 'StSnet' then 7
else raise "Unknown EntityType"
end
loopcounter += 1
end
puts EntityType
После инструкции _case_ вы пытаетесь переназначить константу 'Type' с некоторым значением. С того места вы получали _warnings_./ –
Смотрите это, чтобы остановить предупреждения http://stackoverflow.com/questions/17447532/what-is-the-use-of-usr-local-bin-ruby-w-at-the -start-of-a-ruby-program –
Невозможно получить это предупреждение из кода, который вы опубликовали. Это должно происходить из какого-то кода, который вы не отправляли, или из какого-то взаимодействия с каким-то кодом, который вы не отправляли, поэтому мы не можем вам помочь. –