Ruby 'Range.last' 不会给出最后一个值。为什么?

2023-11-21

在 ruby​​ Range 对象中使用三点表示法时,我得到以下结果:

(0...5).each{|n| p n}
0
1
2
3
4

当我使用“最后”方法时,我得到:

(0...5).last
 => 5 

我本来期望 4

这是一个错误吗?或者我对 Range 对象的概念有什么不理解的地方?


这是设计使然。 Ruby 2.0 文档是更具体:

请注意,没有参数last将返回定义范围末尾的对象,即使exclude_end? is true.

(10..20).last      #=> 20
(10...20).last     #=> 20
(10..20).last(3)   #=> [18, 19, 20]
(10...20).last(3)  #=> [17, 18, 19]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby 'Range.last' 不会给出最后一个值。为什么? 的相关文章

随机推荐

  • 使用 Pyinstaller 的 Python 子进程 Popen

    我使用 ffmpeg 来转换一些视频 我正在使用 subprocess Popen 调用命令 si subprocess STARTUPINFO si dwFlags subprocess STARTF USESHOWWINDOW self
  • R - 将 ggplot 网格线放在前景中[重复]

    这个问题在这里已经有答案了 我想知道是否有办法让 ggplot 在绘制的数据前面绘制网格线 据我所知 我可以使用 theme 轻松格式化几乎所有内容 到目前为止效果很好 但是 我没有找到元素绘制顺序的选项 我可以在绘图中引入需要事先格式化的
  • Prolog 中的广度优先搜索

    我是 Prolog 新手 目前正在实现 DFS 深度优先搜索 和 BFS 广度优先搜索 算法 我的 DFS 工作正常 如下面的代码 但 BFS 在到达叶节点时终止并中止 它不会回溯并继续搜索 我还阅读了一些关于此的示例代码 但是他们没有定义
  • 错误“找不到‘django.contrib.auth.views.login’的反向”[重复]

    这个问题在这里已经有答案了 我收到以下错误消息 但找不到修复它的方法 NoReverseMatch at login Reverse for not found is not a valid view function or pattern
  • SearchView 中的文本输入不显示

    几天前我注意到在我的SearchView没有出现 也许这个问题很早以前就开始了 我没有注意到它 但我知道当我第一次设置搜索功能时一切都运行良好 这是一个屏幕截图 我已经输入了文本 你可以看到它没有显示 我已经尝试过更改文本的颜色Search
  • 手电筒需要哪些权限?

    我用过
  • 在Sql Server中,如何将二进制字符串转换为二进制?

    我有一些表示二进制数据的字符串格式的数据 例如 0x0002 是否有一些函数或技巧可以将它们从文字字符串转换为二进制 也就是说 我希望 0x0002 变成 0x0002 而 SELECT CAST 0x0002 AS BINARY 20 显
  • 如何从内存中解码jpg图像?

    我可以通过 PIL Python OpenCV 等从磁盘读取 jpg 图像 通过一些内置函数 例如 在 OpenCV 的情况下 将其读取到 numpy 数组中arr cv2 imread filename 但是如何直接从内存中解码二进制格式
  • PHP:cURL 并跟踪所有重定向

    我正在寻找 cURL 一个 URL 并跟踪它所经过的每个单独的 URL 由于某种原因 如果不进行递归 cURL 调用 我就无法完成此任务 这并不理想 也许我错过了一些简单的选择 想法 url some url with redirects
  • 在 Python 中创建树形目录列表

    我正在尝试使用 python 列出目录中的目录和文件 递归地 rootdir file1 html subdir1 file2 html file3 html subdir2 file4 html 现在我可以很好地列出目录和文件 借用自he
  • 为什么我需要刷新 I/O 流才能获得正确的结果?

    为什么下面的代码不起作用 我的意思是 它在控制台输出上显示各种奇怪的字符 include
  • 使用ajax时UTF8编码不起作用

    我最近将一些页面更改为通过 ajax 显示 并且我对为什么 utf8 编码现在在框内显示问号而之前没有显示感到困惑 前面的例子 原始页面是index php 字符集被显式设置为 utf 8 并且位于 然后我用php查询数据库 这是原始的in
  • 如何从字符串名称渲染反应组件

    我想从它的字符串名称动态渲染一个反应组件 这是我所做的 但它不起作用 这可以做到吗 一个例子确实会有帮助 string name 是组件的名称 var MyComponent React createElement window strin
  • 带有 SWT.Browser 和 XULRunner 的 RCP

    我正在使用 SWT Browser 开发 RCP 应用程序 Windows SWT MOZILLA Browser browser new Browser parent SWT MOZILLA 它与旧的 XULRunner 3 6 23 和
  • 如何在CSS中按百分比定义不透明度?

    是否可以在 CSS 中按百分比 例如 30 定义 CSS 的不透明度 似乎不起作用 现在我只能按小数点进行 https css tricks com almanac properties o opacity test opacity 0 3
  • 对 std::basic_string 的未定义引用

    我正在编译我的项目并看到链接问题 g Wl z now Wl z relro pthread Wl z noexecstack fPIC Wl threads Wl thread count 4 B third party gold L W
  • log4net - FileAppender 在文件开头写入新条目

    是否可以在 log4net 中配置 FileAppender 以在日志文件的开头添加新条目 目前 它正在末尾添加条目 并且读取最新条目需要向下滚动整个日志 从头开始读会更舒服 我不知道该选项在 log4net 中是否可用 我不这么认为 但即
  • 为什么WPF中TextBox边框颜色坚持不改变?

    据我了解 我应该使用样式触发器来更新文本框聚焦时的边框颜色 然而 无论我做什么 它总是变成系统默认的蓝色 而不是我指定的黑色 有人有主意吗 代码如下
  • Objective-C/Cocoa:如何接受错误的服务器证书?

    Using NSURL请求 我正在尝试访问证书已过期的网站 当我发送请求时 我的连接 didFailWithError使用以下信息调用委托方法 1203 NSURLErrorDomain bad server certificate 我的搜
  • Ruby 'Range.last' 不会给出最后一个值。为什么?

    在 ruby Range 对象中使用三点表示法时 我得到以下结果 0 5 each n p n 0 1 2 3 4 当我使用 最后 方法时 我得到 0 5 last gt 5 我本来期望 4 这是一个错误吗 或者我对 Range 对象的概念