Ruby 标准库¶ ↑
Ruby 标准库是一个大型的类和模块集合,您可以在代码中 require 它们以获得额外的功能。
下面是库和扩展的概述,以及每个库和扩展的简要描述。
库¶ ↑
-
MakeMakefile
:一个用于为 C 扩展生成 Makefile 的模块 -
RbConfig
:有关您的 Ruby 配置和构建的信息 -
Gem
:一个用于 Ruby 的包管理框架
扩展¶ ↑
-
Coverage
:为 Ruby 提供覆盖率测量 -
Monitor
:提供可重入互斥锁 -
objspace
:扩展ObjectSpace
模块,添加内部统计信息的方法 -
PTY
:创建和管理伪终端 -
Ripper
:提供将 Ruby 程序解析为 S-表达式的接口 -
Socket
:访问底层操作系统套接字实现
默认 gem¶ ↑
-
默认 gem 与 Ruby 版本一起发布,也可以作为 rubygems 使用。
-
默认 gem 不能从 Ruby 安装中卸载。
-
可以使用 rubygems 更新默认 gem。
-
例如:
gem update json
-
-
默认 gem 可以与
unbundled_env
等 bundler 环境一起使用。 -
默认 gem 可以在 Gemfile 中使用任何版本。
-
例如:
gem "json", ">= 2.6"
-
库¶ ↑
-
Benchmark (GitHub):提供用于测量和报告代码执行所用时间的方法
-
Bundler (GitHub):管理您的 Ruby 应用程序的 gem 依赖项
-
CGI (GitHub):支持通用网关接口协议
-
Delegator (GitHub):提供三种将方法调用委托给对象的能力
-
DidYouMean (GitHub):Ruby 中的“你是不是想说?”体验
-
English (GitHub):提供对具有不太神秘名称的特殊全局变量的引用
-
ERB (GitHub):一个易于使用但功能强大的 Ruby 模板系统
-
ErrorHighlight (GitHub):突出显示代码中的错误位置
-
FileUtils (GitHub):多个用于复制、移动、删除等的文件实用方法
-
Find (GitHub):此模块支持对一组文件路径进行自上而下的遍历
-
Forwardable (GitHub):提供将指定方法委托给指定对象的功能
-
IPAddr (GitHub):提供操作 IPv4 和 IPv6 IP 地址的方法
-
OptionParser (GitHub):用于命令行选项分析的面向 Ruby 的类
-
Logger (GitHub):提供用于输出消息的简单日志实用程序
-
Net::HTTP (GitHub):用于 Ruby 的 HTTP 客户端 API
-
Open3 (GitHub):提供在运行其他程序时访问 stdin、stdout 和 stderr 的功能
-
OpenURI (GitHub):URI::HTTP、URI::HTTPS 和 URI::FTP 的易于使用的包装器
-
PP (GitHub):为 Ruby 对象提供 PrettyPrinter
-
PrettyPrint (GitHub):实现用于可读结构的漂亮打印算法
-
Prism (GitHub):一个可移植的、容错的 Ruby 解析器
-
Readline (GitHub):Readline 扩展和 Reline 的包装器
-
Reline (GitHub):纯 Ruby 实现中的 GNU Readline 和 Editline
-
Resolv (GitHub):Ruby 中的线程感知 DNS 解析器库
-
SecureRandom (GitHub):安全随机数生成器的接口
-
Set (GitHub):提供一个用于处理无序唯一值集合的类
-
Shellwords (GitHub):使用 UNIX Bourne shell 的单词解析规则操作字符串
-
Singleton (GitHub):Ruby 的 Singleton 模式实现
-
Tempfile (GitHub):用于管理临时文件的实用程序类
-
Timeout (GitHub):自动终止 Ruby 中可能长时间运行的操作
-
TSort (GitHub):使用 Tarjan 算法的拓扑排序
-
UN (GitHub):用于替换常见 UNIX 命令的实用程序
-
URI (GitHub):一个为统一资源标识符提供支持的 Ruby 模块
-
YAML (GitHub):Psych YAML 实现的 Ruby 客户端库
-
WeakRef (GitHub):允许引用的对象被垃圾回收
扩展¶ ↑
-
Date (GitHub):表示日期,包括带有时间和时区的日期子类
-
Digest (GitHub):为消息摘要库提供框架
-
Etc (GitHub):提供对通常存储在 UNIX /etc 目录中的信息的访问
-
Fcntl (GitHub):加载操作系统 fcntl.h C 头文件中定义的常量
-
Fiddle (GitHub):用于 Ruby 的 libffi 包装器
-
OpenSSL (GitHub):为 Ruby 提供 SSL、TLS 和通用加密
-
Pathname (GitHub):文件系统上文件或目录名称的表示
-
Psych (GitHub):一个用于 Ruby 的 YAML 解析器和发射器
-
WIN32OLE (GitHub):为 Ruby 中的 OLE 自动化提供接口
-
Zlib (GitHub):用于 zlib 压缩/解压缩库的 Ruby 接口
工具¶ ↑
捆绑 gem¶ ↑
-
捆绑 gem 与 Ruby 版本一起发布,也可以作为 rubygems 使用。
-
它们仅与 Ruby 版本捆绑在一起。
-
可以从 Ruby 安装中卸载它们。
-
当与 bundler 一起使用时,需要在 Gemfile 中声明它们。
-
库¶ ↑
-
minitest:一个支持 TDD、BDD、模拟和基准测试的测试库
-
power_assert:Ruby 的 Power Assert
-
rake:具有类似于 make 的功能的 Ruby 构建程序
-
test-unit:MiniTest 的兼容性层
-
rexml:Ruby 的 XML 工具包
-
rss:一个支持各种基于 XML 的“提要”的库系列
-
net-imap:用于 Internet 消息访问协议的 Ruby 客户端 API
-
net-pop:用于 POP3 的 Ruby 客户端库
-
net-smtp:用于 Ruby 的简单邮件传输协议客户端库
-
matrix:表示数学矩阵
-
prime: 素数和因式分解库
-
rbs: RBS 是一种描述 Ruby 程序结构的语言
-
typeprof: 一个基于抽象解释的 Ruby 代码类型分析工具
-
debug: Ruby 的调试功能
-
racc: 一个用 Ruby 编写的 LALR(1) 解析器生成器
-
mutex_m: 用于扩展对象使其像互斥锁一样处理的 Mixin
-
getoptlong: 解析类似于 GNU C getopt_long() 的命令行选项
-
base64: 支持使用 Base64 表示形式编码和解码二进制数据
-
bigdecimal: 提供任意精度的浮点十进制算术
-
observer: 提供 Ruby 中发布/订阅模式的机制
-
abbrev: 计算给定字符串集合的唯一缩写
-
resolv-replace: 使用 Resolv 替换 Socket DNS
-
rinda: Ruby 中的 Linda 分布式计算范式
-
drb: Ruby 的分布式对象系统
-
nkf: Network Kanji Filter 的 Ruby 扩展
-
syslog: POSIX 系统日志工具的 Ruby 接口
-
csv: 提供读取和写入 CSV 文件和数据的接口