news 2026/4/16 15:19:47

Ruby 范围(Range)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ruby 范围(Range)

Ruby 范围(Range)

概述

在 Ruby 中,Range对象是一个表示一系列连续或离散值的范围。Range类是 Ruby 核心库的一部分,它允许开发者方便地处理一系列值,如日期、数字等。本篇文章将深入探讨 Ruby 中的范围(Range),包括其创建方法、操作以及在实际编程中的应用。

创建 Range 对象

在 Ruby 中,可以通过多种方式创建Range对象:

1. 使用冒号:运算符

这是最常见的方式来创建一个Range对象。例如:

range = 1..10

这个例子创建了一个从 1 到 10 的范围,包括 1 和 10。

2. 使用Range

你也可以使用Range类来创建一个范围:

range = Range.new(1, 10)

这个例子同样创建了一个从 1 到 10 的范围,但注意,第二个参数 10 不包含在内。

3. 使用step方法

如果你想创建一个步长为 2 的范围,可以使用step方法:

range = (1..10).step(2)

这个例子创建了一个从 1 到 10 的范围,步长为 2,即包含 1、3、5、7 和 9。

Range 对象的操作

1. 判断范围是否包含某个值

可以使用include?方法来判断一个范围是否包含某个值:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 15:46:20

三种方式打 Java 可执行 JAR 包,你用对了吗?

三种方式打 Java 可执行 JAR 包,你用对了吗?写完代码只是开始,如何打包成一个“开箱即用”的 JAR 文件,才是交付的关键一步。很多 Java 开发者都遇到过这样的问题: 本地跑得好好的程序,一打包就报错 ClassN…

作者头像 李华
网站建设 2026/4/16 9:35:18

05_C 语言进阶之避坑指南:编译器优化等级 —— 嵌入式开发中被忽略的 “隐形陷阱”

C 语言进阶之避坑指南:编译器优化等级 —— 嵌入式开发中被忽略的 “隐形陷阱” 一、编译器优化等级的 “坑”,你踩过吗? “代码在 O0 调试模式下运行正常,切换到 O2 优化后直接卡死?” “全局变量在优化后被编译器‘吃掉’,中断中修改的值主循环读不到?” “调试时…

作者头像 李华
网站建设 2026/4/16 5:57:56

别把数组当“流水账”:用 Summary Ranges 教你学会“结构化思考”

别把数组当“流水账”:用 Summary Ranges 教你学会“结构化思考” 作者:Echo_Wish 一、引子:我们处理的不是数组,是“信息结构化” 咱们聊一个特别小、但特别有味道的题目:汇总区间(Summary Ranges)。 这个题我第一次看到时,直觉觉得:“不就处理个数组嘛,这能有啥…

作者头像 李华
网站建设 2026/4/15 16:32:06

基础进制转换

m 进制转 n 进制(通用实现)m 进制转 n 进制的核心逻辑是以 10 进制为中间桥梁:先将 m 进制数转为 10 进制,再将 10 进制数转为 n 进制。该方法适配任意合法进制(2 ≤ m,n ≤ 36),兼容数字 字母…

作者头像 李华
网站建设 2026/4/16 7:33:09

node基础

从node文档里抄了一些东西贴出来,省的每次都找好久(node文档的那个目录,我感觉找东西挺费劲的) (ps:为什么node v25版本的文档里找不到path模块,v24版本的文档里找到了!!&#xff01…

作者头像 李华