首页 > 编程 > Ruby > 正文

实例讲解Ruby中的局部变量

2020-02-24 15:41:22
字体:
来源:转载
供稿:网友

 局部变量由小写字母或下划线(_)开头.局部变量不像全局和实变量一样在初始化前含nil值.

ruby.html" target="_blank">ruby> $foo
   nil
ruby> @foo
   nil
ruby> foo
ERR: (eval):1: undefined local variable or method `foo' for main(Object)  


对局部变量的第一次赋值做的很像一次声明.如果你指向一个未初始化的局部变量,Ruby解释器会认为那是一个方法的名字;正如上面所见错误

信息的.

一般的,局部变量的范围会是



proc{...} 

loop{...} 

def...end 

class...end 

module...end 

整个程序(除非符合上面某个条件)



下面的例子,define?是一个检查标识符是否已定义的操作符.如果已定义它将返回标识符的描述,否则返回nil.正如你所见的,bar的范围是

loop的局部变量;当loop退出时,bar无定义.

ruby> foo = 44; print foo, "/n"; defined? foo
44
   "local-variable"
ruby> loop{bar=45; print bar, "/n"; break}; defined? bar
45
   nil  


一个范围内的过程对象共享这个范围内的局部变量.这里,局部变量 bar 由 main 和过程对象 p1, p2共享:

ruby> bar=0
   0
ruby> p1 = proc{|n| bar=n}
   #
   
   
 
   
 
   
 
     


         





  
         
         
            
         
     
   
    
     
 
   
 
   
 
     


      

  

    
    
    
    
 
   
 
   
 
      

0x40172654>0x40172668>0x4017280c>0x40172820>0x40170fac>0x40170fc0>0x8dce8>0x8deb0>

上一篇:初步掌握Ruby类常量

下一篇:Ruby重载

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选