实例讲解Ruby线程局部域变量

开发 开发工具
Ruby线程局部域变量痛其他变量一样都是以$开头。比如:$!和$@等。一般情况下是用来处理异常等的操作。下面将会对此做详细介绍。

我们知道,在Ruby语言中存在一些内置变量,这些变量实现的功能不尽相同。下面就让我们一起来看看有关Ruby线程局部域的一些介绍。#t#

Ruby线程局部域变量之$!

最近发生的异常的信息.由raise设定.

  1. def exception   
  2. begin   
  3. raise "exception test."   
  4. ensure   
  5. puts $!   
  6. end   
  7. end   
  8. exception  

 

结果:

 

  1. simple.rb:58:in `exception': 
    exception test. (RuntimeError)   
  2. from simple.rb:64   
  3. exception test. # $!中的值  

 

 

Ruby线程局部域变量之$@

以数组形式保存着发生异常时的back trace信息. 数组元素是字符串,它显示了方法调用的位置,其形式为
"filename:line"或 "filename:line:in `methodname'" 。在向$@赋值时,$!不能为nil。 

  1. def exception   
  2. begin   
  3. raise "exception test."   
  4. ensure   
  5. puts $@   
  6. puts "$@ size is:#{$@.size}"   
  7. end   
  8. end   
  9. exception  

 

结果:

  1. simple.rb:58:in `exception': 
    exception test. (RuntimeError)   
  2. from simple.rb:65   
  3. simple.rb:58:in `exception' #$@中的值,
    是一个数组,第一个元素是错误发生的行数,
    第二个是异常的内容。下面打印了数组的长度   
  4. simple.rb:65   
  5. $@ size:2   

 

责任编辑:曹凯 来源: javaeye.com
相关推荐

2009-12-14 14:07:02

Ruby局部域变量

2009-12-15 10:48:54

Ruby局部变量

2009-12-18 14:35:01

Ruby奇特变量

2009-09-22 17:21:24

线程局部变量

2010-03-15 19:37:00

Java多线程同步

2012-11-12 09:26:06

.NET多线程

2009-12-15 11:01:31

Ruby数组

2009-12-14 09:33:04

Ruby安装

2009-12-15 15:28:22

Ruby重载

2009-12-15 14:58:19

Ruby迭代器

2009-12-16 14:24:48

Ruby函数lambd

2009-12-14 15:30:43

安装Ruby on R

2009-12-16 17:37:31

Ruby on Rai

2009-12-16 15:41:10

Ruby on Rai

2024-07-09 08:35:09

2009-12-15 09:56:51

Ruby流程控制

2011-04-02 16:37:26

PAT

2010-09-14 17:20:57

2010-06-03 18:22:38

Hadoop

2009-09-17 13:05:38

Linq局部变量类型
点赞
收藏

51CTO技术栈公众号