加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby Ranges,为什么小数包含在独家范围内?

发布时间:2020-12-17 02:21:43 所属栏目:百科 来源:网络整理
导读:case something when 0...10 puts 'success' else puts 'fail'end 如果我输入9.5,则输出为“成功”.据我所知,…意味着10将不包括在内,所以它从0到9?这里发生了什么?另外,这个带有这个例子的书(我修改了它不是为了复制代码)建议在case语句中使用独占范围,这
case something
  when 0...10
    puts 'success'
  else
    puts 'fail'
end

如果我输入9.5,则输出为“成功”.据我所知,…意味着10将不包括在内,所以它从0到9?这里发生了什么?另外,这个带有这个例子的书(我修改了它不是为了复制代码)建议在case语句中使用独占范围,这被认为是最佳实践吗?

解决方法

0 … 10表示10不包含在范围内.但它也意味着包括小于10(但大于0)的所有内容.

使用…代替..不会改变范围的结束:

(0..10).end
# => 10
(0...10).end
# => 10

它修改了此范围内的结尾:

(0..10).exclude_end?
# => false
(0...10).exclude_end?
# => true

有关Ruby中范围的更多信息:
http://ruby-doc.org/core-2.0.0/Range.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读