Ruby语法基础知识笔记与常用用法总结
时间:2026-08-17 | 作者:火苗实验室 | 阅读:0Ruby 的语法笔记,常常是学得快、忘得也快。 下面这份整理,把最常用的一些操作拆成了独立片段,适合随时翻阅。
基础输入与字符串处理
接受用户输入
在 Ruby 里获取用户输入,最直接的方式就是 gets.chomp。
它会把输入内容读进来,并且自动去掉末尾的换行符。
first_name = gets.chomp
首字母大写
想快速把字符串的首字母变成大写?用 capitalize! 就可以。
first_name.capitalize!
字母变大写
如果希望整个字符串都转为大写,用 upcase! 。
first_name.upcase!
字母变小写
全部变小写用 downcase! 。
注意这些方法结尾的叹号意味着会直接修改原变量。
first_name.downcase!
判断是否包含字符
用 .include 方法可以检查字符串里是否包含某个字符。
注意问号是方法名的一部分。
print 'puts' user_input = gets.chomp user_input.downcase! if user_input.include"s" print 'has s' end
替换字符
用 gsub! 可以做全局替换。
下面的例子把所有字母 s 替换成 th,注意正则的写法。
# s -> th user_input.gsub!(/s/,"th")
在字符串中输出变量值
字符串中嵌入变量用 #{ }。
写成这样就能直接打出变量的当前值。
puts 'okok #{user_input}'
多行输出
用 HERE document,也就是 < 中间的 EOF 只是一个结束标记,也可以换成其他单词。 Ruby 的注释很轻量,一行以 # 开头就够了。 在双引号字符串中嵌入变量值,用 #{变量名} 即可。 这个写法在 Ruby 里随处可见。 Ruby 的变量按照作用域分成几类,需要区分清楚: 条件判断的写法很直观。 注意 Ruby 使用的是 elsif,不是 else if。 unless 相当于“如果不满足条件”,和 if 是相反逻辑。 后面同样可以接 else。 定义一个类用 class 关键字,方法用 def。 调用前需要先用 .new 创建实例。 while 是经典的条件循环。 当条件为真时,会反复执行代码块。 until 和 while 相反,在条件为假时执行。 直到条件变为真才停止。 += 、 -= 、 *= 、 /= — Ruby 不支持 ++ 和 -- 这种递增递减运算符,上面的写法足够用了。 如果用“1...10”,表示从 1 到 9,不包括 10。 如果写成“1..10”,则包含 10,细节不同,容易踩坑。 迭代器(Iterator)本质上是 Ruby 里一种重复执行代码块的方法。 这里的 loop do ... end 是一个无限循环,需要用 break 手动跳出。 在循环里用 next 可以跳过当前迭代,直接进入下一轮。 下面的例子只打印偶数。 当你明确知道要循环多少次时,.times 是最简洁的选择。 再贴一个 while 的完整例子,从 1 打印到 50。 until 的对应写法,同样是从 1 到 50。 使用 loop 配合 break 也可以实现固定次数的循环。 只是需要自己维护计数器。 数组的创建很简单,方括号加逗号分隔即可。 .each 是最常用的数组迭代方法。 支持两种写法:大括号版本适合简短逻辑,do...end 版本适合多行逻辑。 split 可以将字符串按指定分隔符拆分成数组。 下面的例子演示了用户输入文本后,再让用户输入一个要屏蔽的词,然后依次输出每个单词。 以上这些片段,大部分是每天写 Ruby 都会碰到的操作。 把它们记熟,日常开发会顺畅很多。
print <
注释
# 我是注释
变量与作用域
变量获取
#{first_name}
变量作用域
条件判断
if/else 条件判断
if a < b
puts '1'
elsif b < a
puts '2'
end
unless 条件
unless false
print 'ok'
else
print 'no'
end
类与方法
定义类与方法
class Classname
def functionname(params)
puts params
end
end
class1 = Classname.new
class1.functionname('1')
循环与迭代
while 循环
counter = 1
while counter < 11
puts counter
counter = counter + 1
end
Until 循环
counter = 1
until counter > 10
print counter
counter = counter + 1
end
for 循环
for num in 1...10
puts num
end
Loop Method
i = 20
loop do
i -= 1
print "#{ i }"
break if i <= 0
end
Next 跳过
i = 20
loop do
i -= 1
next if i%2 != 0
print "#{i}"
break if i <= 0
end
.times 迭代器
10.times { print 'ok' })
Looping with 'While'
num = 1
while num <= 50 do
print num
num += 1
end
Looping with 'Until'
num = 1
until num > 50 do
print num
num += 1
end
Loop the Loop with Loop
num = 0
loop do
num += 1
print "Ruby!"
break if num == 30
end
数组与常用迭代器
数组
my_array = [1,2,3,4,5]
.each 迭代器
numbers = [1, 2, 3, 4, 5]
# one way to loop
numbers.each { |item| puts item }
# another way to loop
numbers.each do |item|
puts item
end
字符串拆分
.split 方法
text.split(",")
puts "Text to search through: "
text = gets.chomp
puts "Word to redact"
redact = gets.chomp
words = text.split(" ")
words.each do |word|
print word
end
总结
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 使用RVM切换Ruby与Rails版本的实现方法
- 时间:2026-08-18
-
- Ruby语言是什么及入门使用方法
- 时间:2026-08-18
-
- Ruby on Rails网站项目搭建入门指南
- 时间:2026-08-18
-
- Ruby插入排序算法实现与二路插入排序代码示例
- 时间:2026-08-18
-
- Ruby图片滤镜算法实现代码与核心原理
- 时间:2026-08-18
-
- Ruby中Hash哈希结构基本操作方法详解
- 时间:2026-08-18
-
- Ruby面向对象编程:类方法与类扩展详解
- 时间:2026-08-18
-
- Ruby正则表达式语法详解与常用示例代码
- 时间:2026-08-18
精选合集
更多大家都在玩
大家都在看
更多-
- 糖尿病完全不能吃糖吗
- 时间:2026-09-15
-
- 蚂蚁庄园小课堂2026年9月16日最新题目答案
- 时间:2026-09-15
-
- 小鸡答题今天的答案是什么2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园每日答题答案2026年9月16日
- 时间:2026-09-15
-
- 以下哪种粮食是酿造绍兴黄酒的主要原料 蚂蚁庄园今日答案9月16日
- 时间:2026-09-15
-
- 劝学名句“及时当勉励,岁月不待人”出自哪位诗人 蚂蚁庄园今日答案9.16
- 时间:2026-09-15
-
- 蚂蚁庄园今天答题答案2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园答题今日答案2026年9月16日
- 时间:2026-09-15
