你能用ruby做这个吗?

 case myvar
 when  myvar < -5
    do somethingA
 when -5..-3
    do special_something_XX
 when -2..-1
    do special_something_YY
 when myvar == 0
    do somethingB
 when myvar > 0
    go somethingC
 end

推荐答案

您混合了两种不同类型的 case 陈述:

case var
when 1
  dosomething
when 2..3
  doSomethingElse
end

case
when var == 1
   doSomething
when var < 12
   doSomethingElse
end

Ruby相关问答推荐

R10K模块在try 安装gem r10k时获得错误的Ruby版本

使用Mac命令行解密用Ruby加密的Zip

使用 RSpec 测试嵌套哈希时随机排序数组的匹配

有没有办法保存 ruby​​ 代码的执行,以便稍后使用逐步重播对其进行调试?

每秒做某事 x 次

Rspec:应该是(this or that)

什么是 '?-mix' 在 Ruby 正则表达式中

类中的 Ruby 类(或模块中的模块)

Ruby on Rails:你能把 Ruby 代码放在 YAML 配置文件中吗?

为什么 Ruby 中的 `a = a` `nil`?

如何使用 RVM 重新编译 ruby​​?

在 Ruby 中创建数字、字符串、数组或哈希的 md5 哈希

如何在 Ruby 中临时重定向标准错误?

有没有办法在 RSpec 中取消存根?

用零填充数字

覆盖子类中的 ruby​​ 常量,以便继承的方法使用新常量而不是旧常量?

如何将哈希键转换为方法名称?

如何使用 Ruby 运行命令五次?

如何在 IRB 中重新加载脚本?

未加载库:/opt/local/lib/libssl.1.0.0.dylib (LoadError)