`
文章列表
表达式就是一块Ruby 代码。 在许多语言区分低层的表达式和高层的语句,如条件和循环 Ruby 表达式和语句之间并没有清晰的界限。 字面量和关键字字面量 某些Ruby关键字是基本表达式,可以把它们当作关键字字面量或特殊形式的变量引用: nil   求值为nil,属于NilClass类 true          TrueClass类的单例实例,代表了布尔值为true的对象 false          FalseClass                                          false self           当前对象 __FILE__         ...
对象 Objects Ruby是纯粹的面向对象的语言:所有的值都是对象,而且没有基本类型和对象类型的区别。 所有对象都继承一个Object类,共享此类中的方法 1、对象引用 在Ruby中使用对象时,其实是在使用对象的引用。 s="Ruby" t=s  #只是引用,t和s指向同一个值 t[-1]="" # 修改t 同时修改s print s # "Rub" t="Java" #这时t指向另一对象 print s,t # Prints "RubJava" 在Ruby中,当把一个对象传递给一个方法 ...
True、False和Nil true,false 和nil是Ruby的关键字 true false nil是一个保留值,用于表示没有值 Singleton true是TrueClass的一个单键实例 false   FalseClass nil      NilClass nil值检测 o==nil o.nil? 2011-4-7 20:28 danny
符号 Symbols Ruby解释器的典型实现会维护一个符号表(symbol table),在这个表中,存储了其所知晓的所有类、方法及变量的名称。 通过一个方法名在符号表中的位置来对其进行引用。将相对开销较大的字符串操作转化为一个开销较小的整数操作。 :symbol :"symbol"  #以上两相同 :'another long sysmbol' s="string" sym=:"#{s}" %s 字面量 %s["] # same as :'"' 在反射机制(reflective code)里,符号常常被用 ...
范围 Ranges 表示位于一个开始值和一个结束值之间的一些值。 开始和结束值之间放置二三个点,如果使用两个点,该范围包含边界 超过三个点,结尾点不包含在内 1..10 #包含10 1.0...10.0 #不包含10.0 include?方法测试一个值是否被包含在一个范围内 cold_war=1945..1989 cold_war.include?birthdate.year <=> r='a'..'c' r.each{|l| print "[#{l}]"}  # prints "[a][b][c]" r.step(2){|l| prin ...
哈希 键值对 映射(map) 关联数组 numbers=Hash.new numbers["one"]=1 numbers["two"]=2 numbers["three"]=3 sum=number["one"]+number["two"] 1、哈希字面量 逗号分隔的键/值对,被包含在花括号中 numbers={"one"=>1,"two"=>2,"three"=>3} Symbol对象方法 number ...
数组 一个数组就是一系列的值,可以通过这些值在该序列中的位置或索引来访问它们。 Ruby中    数组的第一个值的索引为0    size和length方法返回一个数组的元素个数,    最后一个元素的索引是size-1    负索引从数组的末尾开始计数    -1 表示数组的最后一个元素,倒数第二个为-2    越界 返回nil,不抛出异常 Ruby数组是无类型且可变的        数组元素不必属于同一个类型,可随时改变        数组的大小可以动态改变 向数组添加元素,数组会按需增长        超出数组末尾的元素进行赋值,数组将会自动增长,用nil来填充多出的位置(超出数组开头 ...
5、对字符串进行迭代 Ruby1.8     String 类 each方法,Enumerable模块     [] Ruby1.9    取消了each方法,不再包含Eumerable模块。  取代的:  each_byte    each_char    each_line s="¥1000" s.each_char{|x| print "#{x} "}   # "¥ 1 ...
2、字符字面量 字符前面加一个问号的方式表示单个字符构成的字面量,不需要使用任何形式的引号 ?A ?" ?? Ruby 1.8    ?A=65 Ruby 1.9   字符是长度为1的字符串 因此或以Unicode码点 3、字符串操作符 + planet="Earth" "Hello"+" "+planet # Hello Earth 同Java区别,不会自动转换 在Ruby中,采用字符串内插操作比采用+操作符进行连接更简单。 "Hello planet ##{planet_number}" < ...
Ruby使用String类的对象表示文本。 字符串是可变的对象 定义了 提取字符串、插入和删除文本,搜索及替换等操作 1、字符串字面量    由单引号引用的字符串字面量     被单引号所引用的字符串是形式最简单的字符串字面量,单引号之间的文本就是字符串的值。 'This is a simple Ruby string literal' 要用到单引号('),前面放置一反斜线,反斜线转义再加一个反斜线就可以了。 'Won\'t you read O\'Reilly \'s book?' 'This string literal ends with a single backslash:\\' ...
Ruby中所有的值都是对象。 继承关系                                                      Numeric                                                          |                ________________________|__________________________________________________               |                       |                               ...
Ruby程序的运行 Ruby是一门脚本语言,意味着Ruby程序就是待执行的语句的列表或脚本。 默认情况下,语句按照其出现顺序依次的执行。 在Ruby中不存在一个作为程序运行入口点的main方法。 Ruby接受一个待执行语句的脚本,然后从第一行代码开始一直执行到最后一行。 常见的作法是指定一个包含脚本的文件名, Ruby解释器会读取文件并执行其中的脚本,它首先执行任何BEGIN块,然后再从文件的第一行开始执行,直到发生以下情况: ×它执行了一个导致Ruby程序终结的语句 ×它到达了文件的结尾 ×它读入一行代码,此代码用标记__END__标示了文件的逻辑结尾 通常情况下(除非调用了exit! ...
在最底层,Ruby程序是采用ASCII字符集编码的。 默认情况下,Ruby解释器假定Ruby源代码是采用ASCII进行编码的,但Ruby程序并不是必须要采用ASCII编码方式。 可以采用多种编码 1、指定程序所使用的编码 默认编码:ASCII 在Ruby1.8里 ...
文件结构的规则 1、如果一个Ruby程序包含有"shebang"注释,那么该注释是第一行。#! 注释 为了指示(Unix类)操作系统如何执行该文件的。 2、如果一个Ruby程序包含一个"coding"注释,而且不包含"shebang"注释,那么该"coding"注释就应该出现在第一行;否则,由于有"shebang"注释必须出现在第一行,所以"coding"注释就只能出现在第二行。 3、如果一个文件包含一行代码,该行代码仅包含一个__END__标记,而且在此标记前后均无空白符,那 ...
6.1表达式 初级表达式 数字和字符串字面量就是初级表达式 特定关键字:true false nil self 对变量的引用也是初级表达式,对它们进行求值的结果就是指向的变量的值。 复合表达式 [1,2,3]  #数组  {1=>"one",2=>"two"} #Hash 1..3 # A Range literal 操作符用于对多个值进行计算,通过操作符来组合更简单的子表达式构成复合表达式 1  #初级表达式 x  #另一初级表达式 x=1 #赋值 x=x+1 #两个操作符的表达式 语句 表达式和Ruby的关键字联合起来构成语句。 if ...
Global site tag (gtag.js) - Google Analytics