Ruby(三)

比较运算符
&& 并且
< => 比较(例如:x< => y,如果x大于y返回1,x小于y返回-1,x等于y 返回0)
!= 不等于

between?方法 是 对象处于或等于指定的2个值之间,则返回true

age=20
puts “young” between?(18,60)
young

变量:
局部变量 以小写字母或下划线卡头 var _var
全局变量 以$开头 $var
类变量 类中定义,以@@开头 @@var
实例变量 对象中定义,以@开头 @var
常量 以大写字母开头 Var

解释:局部变量也就是基本的变量,在变量定义的相同地方使用。

类变量就是在类定义中用@@开头的变量。类变量是用于存储类的全局信息,它只属于类,不同与类实例变量(即用@开头定义的变量)每一个类的对象都有一份数据。 类变量是可以被继承的,也就是说如果我们派生一个子类,那么在子类中是可以访问父类的类变量的。类变量在访问前必须赋值。子类和父类共享一份数据,对一个类的修改会反映到另一个类中。

类的类实例变量是在类的类方法中或方法外边(不能在实例方法中,那是类的实例变量)以@开头定义的变量,这样定义的变量值属于类对象本身,不能够被子类继承。如果要定义需要和子类共享的类全局数据,使用类变量;但是如果要定义仅供类本身使用的类全局数据可以使用类实例变量。还有一点需要注意的是,和类变量不同的是类实例变量不要求访问前必须赋值,不赋值它的值就是nil

变量内插:
在双引号内使用“#{变量名}”内插变量。

a = 1   
puts a.class #Fixnum   
a = "s"  
puts a.class #String
$Global = "Word!"  
class Class1   
 @@I = 0   
 def initialize()   
 @name = "Tom!"  
 end  
    
 def test()   
 a = 123456   
 puts a   
 end  
end

作用域:

在类或模块内的任意位置都可以访问此类或模块中定义的常量,在这之外,可以通过域作用符(::)访问。

class Demo   
  NAME="name"  
  def test   
    puts NAME     
  end  
end  
puts Demo::NAME #test.rb
class Demo
  NAME="name"
  $age="test"
  def test
    puts $age  
  end
end
require "test.rb"  
$age=1   
puts  $age

Ruby 程序在执行时,会提供一些环境变量供程序代码读取。

$0 : 被执行程序的名字,通常是程序的文件名。
$* : 程序执行参数。
__FILE__ : 当前源文件的名字。
__FILE__ 和 $0 通常组合起来使用,用于判断当前文件是否是直接被执行的主程序文件。

if __FILE__ == $0  
 puts "Main..."  
end
4 weeks ago, this page was being read.

,

Subscribe to Comments