【Ruby 】脚本和自动化语言 常用的内容

1️⃣常用内置模块

模块用途
File文件操作
FileUtils文件和目录操作(复制、移动、删除、创建目录)
Dir目录遍历和操作
YAML解析和写入 YAML 文件
JSON解析和写入 JSON 文件
Set集合操作(去重、交集、并集)

2️⃣ Ruby 基础语法

内容示例说明
变量name = "Ruby"动态类型,无需声明类型
数组arr = [1,2,3]支持遍历、映射等操作
哈希h = {a:1, b:2}类似 Python dict
条件if a > 1 ... elsif ... else ... end多分支条件
循环loop do ... end / while / for ... in ... end无限循环 / 条件循环 / 遍历
方法def add(a,b); a+b; end使用 def 定义方法,end 结束
`[1,2,3].each {xputs x}`块(block)是 Ruby 的核心特性
字符串插值"Hello #{name}"#{} 引入变量

3️⃣文件与目录操作

Ruby 自带 File 和 FileUtils 模块,常用操作:

操作示例
读取文件content = File.read('file.txt')
写入文件`File.open(‘file.txt’,‘w’){ff.write(“Hello”)}`
判断文件存在File.exist?('file.txt')
创建目录Dir.mkdir('mydir')
遍历目录Dir.glob('./**/*.rb')
移动/重命名FileUtils.mv('old.rb','new.rb')
复制文件FileUtils.cp('a.txt','b.txt')
删除文件/目录FileUtils.rm('file.txt') / FileUtils.rm_rf('dir')

4️⃣ 文本处理与正则

替换字符串:

str = "old_name"
str.gsub!(/old_name/, "new_name") # 原地修改

匹配字符串:

if str.match?(/\A[a-z]+(_[a-z]+)*\z/)
  puts "蛇形命名"
end

扫描内容:

matches = str.scan(/pattern/)

5️⃣ YAML / JSON 操作

处理 Flutter 插件脚本常用 YAML:

require 'yaml'

data = YAML.load_file('pubspec.yaml')
data['name'] = 'new_plugin_name'
File.open('pubspec.yaml','w'){|f| f.write(data.to_yaml)}

处理 JSON:

require 'json'
json_data = JSON.parse(File.read('data.json'))

6️⃣💡 总结

Ruby 非常适合做 自动化脚本、文件批量处理、文本替换

Flutter 插件的 update_plugin_name.rb 就用到:

文件操作:File, FileUtils

YAML 解析:YAML

字符串/正则替换:gsub!, match?

循环遍历目录:Dir.glob

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄毛火烧雪下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值