• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

3.ruby语法基础,全部变量,实例变量,类变量,局部变量的使用和注意的要点 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.ruby的全局变量的概念和Java的全局变量的概念不同,

  ruby的全局变量是以$符号开头的,如果给全局变量的初始化值为nil会出现警告。

  赋值给全局变量,这是ruby不推荐的,这样会使程序变得很难理解。

  举例:

  #!/usr/bin/ruby

  $global_variable = 10

  class Class1

    def print_global

      puts "Global variable in Class1 is #$global_variable"

    end

  end

  class Class2

    def print_global

       puts "Global varible in Class2 is #$global_variable"

    end

  end

 

  class1obj = Class1.new

  class1obj.print_global

  class2obj = Class2.new

  class2obj.print_global

  #statement of the ruby code will print:

  =begin

  Global varible in Class1 is 10

  Global varible in Class2 is 10 

  =end

2.实例变量以@开头,未初始化的实例变量的值为nil并且会出现警告。

  class Customer

    def initialize(id ,name, addr)

      @cust_id = id

      @cust_name = name

      @cust_addr = addr

    end

    def display_detail()

      puts "Customer id is #@cust_id"

      puts "Customer name is #@cust_name"

      puts "Customer addr is #@cust_addr"

    end

  end

  其中的@cust_id,@cust_name,@cust_addr都是实例变量。

3.类变量,类变量是以@@开头,必须在方法使用它之前,给它初始化。

  引用一个没有被初始化的类变量,就会产生错误。类变量会被其子类和module所共享。

4.局部变量,以小写字母开头或者_.开头。当一个没有初始化的局部变量被引用,它被解释成

  调用了一个没有参数的方法。

5.常量,常量以首字母大写,一般习惯全大写。常量定义在class或者module中,在类的范围内

  都可以被访问。定义在class或者module之外,就可以全局访问了。常量不能定义在方法内。

  引用未初始化的常量会出现错误,如果修改一个已经初始化的常量会出现警告。

  #!/usr/bin/ruby

  class Example

    VAR1 = 100

    VAR2 = 200

    def show

      puts "Value of first Costant is #{VAR1}"

      puts "Value of second Constant is #{VAR2}"

    end

  end

  #Create Objects

  object = Example.new()

  object.show

  #will outputs

  Value of first Constant is 100

  Value of second Constant is 200

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ruby支持批量数组的定义发布时间:2022-07-13
下一篇:
ruby冒泡算法删除店铺下的重复评论发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap