探索Ruby中的$开头全局变量与异常处理
25 浏览量
更新于2024-09-03
收藏 54KB PDF 举报
在Ruby编程语言中,$开头的变量通常被称作全局变量或特殊变量,它们在程序运行时起着特殊的作用。本文主要介绍了两种类型的全局变量:全局进程变量和与异常和错误处理相关的变量。
全局进程变量
1. $$: 这个变量表示当前运行的Ruby进程的进程ID(PID)。在交互式环境中,如irb,你可以看到类似这样的输出:`>> $$ => 17170`。这个值可以帮助你管理或跟踪进程,如通过`kill -9 #{$$}`来杀死当前进程。
2. $?: 这个变量用于存储最近执行的子进程的状态信息。例如,执行命令后,它会显示命令的退出状态码。在上述示例中,`echo hello`成功执行后,$?返回的是子进程的`#<Process::Status:pid18048exit0>`,表明子进程以0作为退出码,即正常完成。
异常和错误处理
1. $1: 在Ruby中,$1通常用来捕获异常消息。当你使用`rescue`语句处理异常时,异常消息会被赋值给$1,如在下面的代码片段中:
```ruby
begin
raise "there's no peanut butter"
rescue
puts $1
end
```
这里,$1的值就是"there's no peanut butter"。
2. $@: 这个变量更为强大,它存储的是引发错误时的完整栈跟踪信息。当你遇到错误时,可以使用$@来获取详细的错误来源。在示例中,当抛出`'nosoupinkitchen'`错误时,$@将包含错误发生的具体上下文信息。
总结起来,理解并熟练运用这些$开头的全局变量可以帮助你更好地管理和调试Ruby程序,特别是在处理进程控制和异常处理时。通过利用这些预定义的变量,你可以增强程序的健壮性和可维护性。
163 浏览量
355 浏览量
2020-09-22 上传
2024-03-06 上传
102 浏览量
2021-01-21 上传
135 浏览量
2021-01-21 上传
184 浏览量
weixin_38710323
- 粉丝: 1
- 资源: 953
最新资源
- 单片机模拟I2C总线及24C02(I2C EEPROM)读写实例.doc
- you can do it
- 用Matlab扩展Excel的功能.pdf
- 线性代数3版习题详细解答
- UML Reference Manual 英文版 (pdf)
- 一些不错的开源Flex项目.txt
- 解析Linux特殊文件
- Modelsim安装步骤
- Cactus 业务流程执行平台的研究和实现
- [美]P[1].德苏泽+J.pdf
- python--Python 学习笔记
- LCD驱动显示原理及驱动开发
- Apress+-+Expert+Shell+Scripting.pdf
- Ubuntu+Server+Administration+.pdf
- Manning[1].Hibernate.Search.In.Action.Dec.2008.pdf
- Flex 3 cookbook 简体中文(全)