Ruby 教程 之 Ruby 文件的输入与输出 6

简介: Ruby 文件的输入与输出

Ruby 教程 之 Ruby 文件的输入与输出 6

Ruby 文件的输入与输出

Ruby 提供了一整套 I/O 相关的方法,在内核(Kernel)模块中实现。所有的 I/O 方法派生自 IO 类。

类 IO 提供了所有基础的方法,比如 read、 write、 gets、 puts、 readline、 getc 和 printf。

本章节将讲解所有 Ruby 中可用的基础的 I/O 函数。如需了解更多的函数,请查看 Ruby 的 IO 类。

打开和关闭文件
截至现在,您已经读取并写入标准输入和输出。现在,我们将看看如何操作实际的数据文件。

File.new 方法

您可以使用 File.new 方法创建一个 File 对象用于读取、写入或者读写,读写权限取决于 mode 参数。最后,您可以使用 File.close 方法来关闭该文件。

语法
aFile = File.new("filename", "mode")

... 处理文件

aFile.close

File.open 方法

您可以使用 File.open 方法创建一个新的 file 对象,并把该 file 对象赋值给文件。但是,File.open 和 File.new 方法之间有一点不同。不同点是 File.open 方法可与块关联,而 File.new 方法不能。

File.open("filename", "mode") do |aFile|

... process the file

end

下表列出了打开文件的不同模式:

模式 描述
r 只读模式。文件指针被放置在文件的开头。这是默认模式。
r+ 读写模式。文件指针被放置在文件的开头。
w 只写模式。如果文件存在,则重写文件。如果文件不存在,则创建一个新文件用于写入。
w+ 读写模式。如果文件存在,则重写已存在的文件。如果文件不存在,则创建一个新文件用于读写。
a 只写模式。如果文件存在,则文件指针被放置在文件的末尾。也就是说,文件是追加模式。如果文件不存在,则创建一个新文件用于写入。
a+ 读写模式。如果文件存在,则文件指针被放置在文件的末尾。也就是说,文件是追加模式。如果文件不存在,则创建一个新文件用于读写。

目录
相关文章
|
存储 数据库 Android开发
|
安全 开发工具 数据安全/隐私保护
图形验证码,守护你的账号安全!
图形验证码能够有效防止恶意攻击,例如暴力破解、垃圾邮件发送和账号滥用行为。图形验证码提供了一个简单而高效的方式来守护你的账号安全。
|
供应链 关系型数据库 MySQL
可重复读解决了哪些问题
在数据库事务处理中,隔离级别是一个核心概念,它决定了事务在并发执行时如何相互隔离。MySQL的隔离级别之一“可重复读(REPEATABLE READ)”解决了多个并发事务中的数据一致性问题。本文将详细探讨可重复读隔离级别解决了哪些问题。
|
机器学习/深度学习 测试技术 数据处理
KAN专家混合模型在高性能时间序列预测中的应用:RMoK模型架构探析与Python代码实验
Kolmogorov-Arnold网络(KAN)作为一种多层感知器(MLP)的替代方案,为深度学习领域带来新可能。尽管初期测试显示KAN在时间序列预测中的表现不佳,近期提出的可逆KAN混合模型(RMoK)显著提升了其性能。RMoK结合了Wav-KAN、JacobiKAN和TaylorKAN等多种专家层,通过门控网络动态选择最适合的专家层,从而灵活应对各种时间序列模式。实验结果显示,RMoK在多个数据集上表现出色,尤其是在长期预测任务中。未来研究将进一步探索RMoK在不同领域的应用潜力及其与其他先进技术的结合。
572 4
|
前端开发 JavaScript
HTML+CSS实现超酷炫的返回顶部特效,你一定会爱上!
HTML+CSS实现超酷炫的返回顶部特效,你一定会爱上!
|
机器学习/深度学习 算法 TensorFlow
Inception v3算法的实战与解析
Inception v3算法的实战与解析
|
缓存 自然语言处理 JavaScript
Thinkphp6安装
Thinkphp6安装
272 0
支付宝提交应用,要经过1天的审核,如果有,提前经过审核哦,支付系统11-----接入准备---上线应用和签约功能,创建完应用,要进行提交审核,上线之后,调用接口还要进行签约,如何完成签约
支付宝提交应用,要经过1天的审核,如果有,提前经过审核哦,支付系统11-----接入准备---上线应用和签约功能,创建完应用,要进行提交审核,上线之后,调用接口还要进行签约,如何完成签约
|
存储 安全 iOS开发
iOS-底层原理 32:启动优化(一)基本概念
iOS-底层原理 32:启动优化(一)基本概念
261 0
iOS-底层原理 32:启动优化(一)基本概念