作业帮 > 综合 > 作业

ruby,一个简单的case when结构语句

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/18 21:23:48
ruby,一个简单的case when结构语句
(1..100).each do |i|
case i % 15
when 0 ; then puts "like 0"
when 3,6,9,12 ; then puts "like 3"
when 5,10 ; then puts "like 5"
end
end
我除了第一句的for循环明白外,就不太懂后面的case when了,还有第二句:
case i % 5是i除以5的意思?还是除完后余数是5的意思?
ruby,一个简单的case when结构语句
%是取余的操作符,case i % 15是指除以15之后的余数情况.
再问: (1..3).each do |i| case i % 15when 0 ; then puts "like 0"when 3, 6, 9, 12 ; then puts "like 3"when 5, 10 ; then puts "like 5"endend运行程序:root@luis-VirtualBox:~# ./ruby.rb like 3怎么会是like 3 ??!!(1,2都没有结果返回,只有3有),但是应该返回like 0 啊,3 除以15取余数怎么可能在“3,6,9,12”的范围里??
再答: “1,2都没有结果返回,只有3有”,余数为1、2的情况你没有描述,所以没有结果返回吧。 3 除以15取余数,结果是3,所以case跳到when 3, 6, 9, 12 ; then puts "like 3"!怎么会不是呢。。。 你不会是把余数和商弄错掉了吧?
再问: 3 除以 15 等于0.2 啊,怎么还会余3呢?....
再答: 拜托看下数学好不。取余操作,商必须为整数,0.2是小数啊!!建议你查下取余数操作的资料。。。
再问: 那是不是3除以15 ,商0,余3 ,4除以15,商0,余4,依次类推,直到15除以15,商1余0 ??
再答: 是的,总算弄明白了你。