避免警告:已经初始化为""

时间:2014-11-18 10:14:11

标签: ruby switch-statement warnings

现在有很多类似的问题但没有一个警告发生在“表达时的情况”

我收到警告:已经为“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

1 个答案:

答案 0 :(得分:0)

我太蠢了。

由于变量开头的大写字母,ruby认为它是常数。当然...... ARGH ...

现在很清楚,为什么会出现错误。