异常和执行总是被联系在一起。如果您打开一个不存在的文件,且没有恰当地处理这种情况,那么您的程序则被认为是低质量的。如果异常发生,则程序停止。异常用于处理各种类型的错误,这些错误可能在程序执行期间发生,所以要采取适当的行动,而不至于让程序完全停止。Ruby 提供了一个完美的处理异常的机制。
Dir 是一个表示用于给出操作系统中目录中的文件名的目录流。Dir 类也拥有与目录相关的操作,比如通配符文件名匹配、改变工作目录等。类方法序号方法 & 描述1Dir[pat] Dir::glob( pat)返回一个数组,包含与指定的通配符模式 pat 匹配的文件名: * - 匹配包含 null 字符串的任意字符串 ** - 递归地匹配任意字符串 ? - 匹配任意单个字符 [...
File 表示一个连接到普通文件的 stdio 对象。open 为普通文件返回该类的一个实例。类方法序号方法 & 描述1File::atime( path)返回 path 的最后访问时间。2File::basename( path[, suffix])返回 path 末尾的文件名。如果指定了 suffix,则它会从文件名末尾被删除。 例如:File.basename("/home/users/bin/ruby.exe") #=> "ruby.exe"3File::blockdev?
Ruby 提供了一整套 I/O 相关的方法,在内核(Kernel)模块中实现。所有的 I/O 方法派生自 IO 类。类 IO 提供了所有基础的方法,比如 read、 write、 gets、 puts、 readline、 getc 和 printf。本章节将讲解所有 Ruby 中可用的基础的 I/O 函数。如需了解更多的函数,请查看 Ruby 的 IO 类。puts 语句在前面的章节中,您赋值给变量,然后使用 puts 语句打印输出。
迭代器是_集合_支持的方法。存储一组数据成员的对象称为集合。在 Ruby 中,数组和散列可以称之为集合。迭代器返回集合的所有元素,一个接着一个。在这里我们将讨论两种迭代器,each 和 collect。each 迭代器返回数组或哈希的所有元素。语法 collection.each do |variable| code end为_集合_中的每个元素执行 code。在这里,集合可以是数组或哈希。
范围(Range)无处不在:January 到 December、 0 到 9、等等。Ruby 支持范围,并允许我们以不同的方式使用范围:作为序列的范围作为条件的范围作为间隔的范围作为序列的范围范围的第一个也是最常见的用途是表达序列。序列有一个起点、一个终点和一个在序列产生连续值的方式。Ruby 使用 ''..'' 和 ''...'' 范围运算符创建这些序列。
Time 类在 Ruby 中用于表示日期和时间。它是基于操作系统提供的系统日期和时间之上。该类可能无法表示 1970 年之前或者 2038 年之后的日期。本教程将让您熟悉日期和时间的所有重要的概念。创建当前的日期和时间下面是获取当前的日期和时间的简单实例: #!/usr/bin/ruby -w time1 = Time.new puts "Current Time : " + time1.inspect # Time.
哈希(Hash)是类似 "employee" => "salary" 这样的键值对的集合。哈希的索引是通过任何对象类型的任意键来完成的,而不是一个整数索引,其他与数组相似。通过键或值遍历哈希的顺序看起来是随意的,且通常不是按照插入顺序。如果您尝试通过一个不存在的键访问哈希,则方法会返回 nil。创建哈希与数组一样,有各种不同的方式来创建哈希。
Ruby 数组是任何对象的有序的、整数索引的集合。数组中的每个元素都与一个索引相关,并可通过索引进行获取。数组的索引从 0 开始,这与 C 或 Java 中一样。一个负数的索引时相对于数组的末尾计数的,也就是说,索引为 -1 表示数组的最后一个元素,-2 表示数组中的倒数第二个元素,依此类推。
Ruby 中的 String 对象存储并操作一个或多个字节的任意序列,通常表示那些代表人类语言的字符。最简单的字符串是括在单引号(单引号字符)内。
模块(Module)是一种把方法、类和常量组合在一起的方式。模块(Module)为您提供了两大好处。模块提供了一个_命名空间_和避免名字冲突。模块实现了 mixin 装置。模块(Module)定义了一个命名空间,相当于一个沙箱,在里边您的方法和常量不会与其他地方的方法常量冲突。语法 module Identifier statement1 statement2 ...........
您已经知道 Ruby 如何定义方法以及您如何调用方法。类似地,Ruby 有一个块的概念。块由大量的代码组成。您需要给块取个名称。块中的代码总是包含在大括号 {} 内。块总是从与其具有相同名称的函数调用。这意味着如果您的块名称为 test,那么您要使用函数 test 来调用这个块。您可以使用 yield 语句来调用块。
Ruby 方法与其他编程语言中的函数类似。Ruby 方法用于捆绑一个或多个重复的语句到一个单元中。方法名应以小写字母开头。如果您以大写字母作为方法名的开头,Ruby 可能会把它当作常量,从而导致不正确地解析调用。方法应在调用之前定义,否则 Ruby 会产生未定义的方法调用异常。语法 def method_name [( [arg [= default]]...[, * arg [, &expr ]])] expr..
Ruby 中的循环用于执行相同的代码块若干次。本章节将详细介绍 Ruby 支持的所有循环语句。Ruby while 语句语法 while conditional [do] code end当 conditional 为真时,执行 code。while 循环的 conditional 通过保留字 do、一个换行符、反斜线 或一个分号 ; ,来与 code 分离开。实例 #!/usr/bin/ruby $i = 0 $num = 5 while $i <
Ruby 提供了其他现代语言中很常见的条件结构。在这里,我们将解释所有的条件语句和 Ruby 中可用的修饰符。Ruby if...else 语句语法if conditional [then] code...[elsif conditional [then] code...]...[else code...]endif 表达式用于条件执行。值 false 和 nil 为假,其他值都为真。请注意,Ruby 使用 elsif,不是使用 else if 和 elif。
注释是在运行时会被忽略的 Ruby 代码内的注释行。单行注释以 # 字符开始,直到该行结束,如下所示:#!/usr/bin/ruby -w# 这是一个单行注释。puts "Hello, Ruby!"当执行时,上面的程序会产生以下结果:Hello, Ruby!Ruby 多行注释您可以使用 =begin 和 =end 语法注释多行,如下所示:#!/usr/bin/ruby -wputs "Hello, Ruby!"=begin这是一个多行注释。
Ruby 支持一套丰富的运算符。大多数运算符实际上是方法调用。例如,a + b 被解释为 a.+(b),其中指向变量 a 的 + 方法被调用,b 作为方法调用的参数。对于每个运算符(+ - * / % ** & | ^ << >> && ||),都有一个相对应的缩写赋值运算符(+= -= 等等)。
变量是持有可被任何程序使用的任何数据的存储位置。Ruby 支持五种类型的变量。您已经在前面的章节中大概了解了这些变量,本章节将为您详细讲解这五种类型的变量。Ruby 全局变量全局变量以 $ 开头。未初始化的全局变量的值为 nil,在使用 -w 选项后,会产生警告。给全局变量赋值会改变全局状态,所以不建议使用全局变量。下面的实例显示了全局变量的用法。#!
下面将创建一个名为 Customer 的 Ruby 类,您将声明两个方法:_displaydetails:该方法用于显示客户的详细信息。_total_no_ofcustomers:该方法用于显示在系统中创建的客户总数量。#!
Ruby 是一种完美的面向对象编程语言。面向对象编程语言的特性包括:数据封装数据抽象多态性继承这些特性将在 面向对象的 Ruby 中进行讨论。一个面向对象的程序,涉及到的类和对象。类是个别对象创建的蓝图。在面向对象的术语中,您的自行车是自行车类的一个实例。
关注时代Java