现在有很多类似的问题但没有一个警告发生在“表达时的情况”
我收到警告:已经为“switch”语句中的每个“case”初始化了常量(我知道它们在ruby中称为不同“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
我如何摆脱警告,因为我只是在顶部初始化它,或者我错过了什么?
编辑: 我的代码在循环中。像这样:
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
答案 0 :(得分:0)
我太蠢了。
由于变量开头的大写字母,ruby认为它是常数。当然...... ARGH ...
现在很清楚,为什么会出现错误。