为什么“case> 2”的“case”不起作用?
为什么这不起作用?
case ARGV.length when 0 abort "Error 1" when > 2 abort "Error 2" end
if
语句可能更适合您的代码,因为您没有确定的范围/值,而只是大于:
if ARGV.length == 0 abort "Error 1" elsif ARGV.length > 2 abort "Error 2" end
它不是有效的ruby语法。
你需要的是什么
case when ARGV.length == 0 abort "Error 1" when ARGV.length > 2 abort "Error 2" end
当你编写case x
,你需要理解的重要部分是ruby接受x,然后对你在when
子句中插入的一个或多个表达式进行比较。
when x >2
读到ruby when x >2
,你说的行如下:
if ARGV.length == > 2
从case
语句中删除特定对象时,可以在when
语句中应用条件。
使用1.0 / 0.0
获得无穷大,修复了@ mosch的代码:
case ARGV.length when 0 raise "Too few" when 3..(1.0/0.0) raise "Too many" end
你不必被查克诺里斯除以浮点零点。
好吧,它不起作用,因为它不是有效的ruby语法。 但是,您可以这样做:
x = 15 case x when 0..9 then puts "good" when 10..12 then puts "better" when 13..200 then puts "best" else puts "either great or poor" end
- rails生成rspec:install config / environments / development.rb:1:在`’:undefined method`configure’
- 在ruby中读取/写入受密码保护和加密的文件
- selenium 2.4.0,如何检查是否存在警报
- Ruby on Rails map.root似乎不起作用
- 使用mongoid在mongodb中使用mongodb嵌入消息回复
- 有没有人有Ruby和Rake的Notepad ++函数列表插件的解析规则
- TypeError – 没有将nil隐式转换为String Sinatra
- gem安装pg for ruby on rails
- 地图与每个之间的差异