RUBY类特性

 

学习教材

class Person
    def initialize(name,age=18)
        @name=name
        @age=age
        @motherland="China"
    end
    def talk
        puts "my name is " +@name+",age is "+@age.to_s
        if @motherland == "China"
            puts "I am a China."
            else
                puts "I am a foreigner."
                end
            end
            attr_writer:motherland
            end
        p1=Person.new("Kaichuan",20)
        p1.talk
        p2=Person.new("Ben")
        p2.motherland="ABC"
        p2.talk
        

输出:

>ruby hello.rb
my name is Kaichuan,age is 20
I am a China.
my name is Ben,age is 18
I am a foreigner.
>Exit code: 0

 

时间: 2024-09-20 09:21:47

RUBY类特性的相关文章

C#中IronRuby实现对Ruby类相关信息的树结构显示

一.前言 IronRuby是.NET下的一个Ruby实现,此外还有Ruby.net这一开源项目,二者的主要区别是IronRuby利用了Microsoft最新推出的DLR,而Ruby.net则是完全利用原有的CLR实现的.IronRuby入门可参阅http://msdn.microsoft.com/zh-cn/magazine/dd434651.aspx.关于IronRuby的一些基本操作,本文不会涉及,本文仅仅是IronRuby对Ruby操作的一个具体实例.其中包括对所有Ruby类的类名,方法名

ruby类实例变量魔法的详解

学习ruby类相关的语法遇到的关于类相关变量的一点小体会. ruby很灵活,语法看似很随意,比如看下下面的代码 class Foo     attr_accessor :name     def initialize         @name = '小明'     end     def say         puts @name         puts self.name         puts name     end end Foo.new.say 执行这些代码将得到如下输出: 小

Ruby类继承、抽象类、类拓展混入、代理类实例_ruby专题

总结一下工作中遇到的类扩展: 1.类继承: 当多个类公用很多方法的时候可以将公用方法部分抽取出来,需要的类做相关继承. 例子: 复制代码 代码如下: class A < ActiveRecord::Base     def a         p "it was a "     end end class B<A end class C<A end B.new.a #=>"it was a " C.new.a #=>"it w

lombok系列3:lombok的实验类特性

lombok除了已经推荐使用的基本功能,还维护了一个创新型的注解,有些功能有违常规对java认知,或者只支持eclipse,其他IDE支持有问题,甚至某些环境完全不可用.因此没有正式使用. 但是的确很有创意,这些注解已经在jar中提供,只不过它是归在"lombok.experimental." 包中:而基本功能在"lombok." 包中. @Accessors 定制流畅的访问器. @Accessors(chain=true) 链式访问,该注解设置chain=true

ruby 类常量 解析_ruby专题

 一个常量由大写字母开头.它应最多被赋值一次.在Ruby的当前版本中,常量的再赋值只会产生警告而不是错误(non-ANSI版的eval.rb不会报告这一警告) ruby>fluid=30    30 ruby>fluid=31    31 ruby>Solid=32    32 ruby>Solid=33    (eval):1: warning: already initialized constant Solid    33   常量可以定义在类里,但不像实变量,它们可以在类的

C#类特性和属性特性

using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Reflection; namespace ConsoleApplication6 { /// <summary> /// AttributeTargets.Class可以对类应用属性 /// Inherited能否由派生类或重写成员继承 /// AllowMu

认识六个被误解的Ruby特性

正当您认为自己了解 http://www.aliyun.com/zixun/aggregation/13430.html">Ruby 的工作原理之时,您意识到了,您 Ruby 代码中的并发机制与 Boost 线程工作原理不一样,catch 和 throw 也与它们看上去的大不相同,而且其他人在其 Ruby 脚本中各处使用了名为 self 的关键词.欢迎来到 Ruby 的世界中! 如果您是一名 C++++ 程序员且需要在 Ruby 环境中工作,那么您有一些功课要做.本文讨论了 Ruby 新手

用实际代码演示Ruby的容易被误解的6个特性_ruby专题

简介: 假设您是一名 C++ 开发人员,您需要使用 Ruby 快速执行一些原型设计.当您拿起一本 Ruby 参考书籍(比如 Pickaxe)或浏览 Ruby 网站时,会看到一些熟悉的构造,比如类声明.线程支持和异常处理.正当您认为自己了解 Ruby 的工作原理之时,您意识到了,您 Ruby 代码中的并发机制与 Boost 线程工作原理不一样,catch 和 throw 也与它们看上去的大不相同,而且其他人在其 Ruby 脚本中各处使用了名为 self 的关键词.欢迎来到 Ruby 的世界中! 如

ruby的类常量解析

一个常量由大写字母开头.它应最多被赋值一次.在Ruby的当前版本中,常量的再赋值只会产生警告而不是错误(non-ANSI版的eval.rb不会报告这一警告) ruby>fluid=30 30 ruby>fluid=31 31 ruby>Solid=32 32 ruby>Solid=33 (eval):1: warning: already initialized constant Solid 33 常量可以定义在类里,但不像实变量,它们可以在类的外部访问. ruby> cla