后端开发2025年07月06日
简单的讲,一个迭代器就是一个能接受代码块的方法。当初为了进行迭代操作而设置了带块方法,现在很多时候仍然称它为迭带器。 可实际上,早期版本的 Ruby 将使用代码块的方法称为迭代器,因为它们就是被设计来实现循环迭代的。但是在Ruby发展过程中,代码块的用途在后来已经得到了很大的增强,从最初的循环抽象到任何事情,那些进行迭代操作的方法仍然可以叫做迭代器,但要将...
后端开发2025年07月06日
三个方法的作用都是将一个字符串打印到控制台 比较项目 puts print p 换行符 末尾添加换行符 末尾不加换行符 末尾添加换行符 非字符串对象的输出 调用该对象的to_s方法 调用该对象的to_s方法 通过inspect方法将对象转换成字符串 通过inspect方法将对象转换成字符串的方法能比to_s方法返回对程序员更加友好的对象表示。 比如,当要打...
后端开发2025年07月06日
In Ruby, you check with nil? if an object is nil: article = nil article.nil? # => true empty? checks if an element - like a string or an array f.e. - is empty: # Array [].e...
后端开发2025年07月05日
全局变量:由$开头,可以在程序的任何位置访问到。在初始化前,全局变量有一个特殊的值 nil。 这里列出了一些以$打头并跟单个字符的特殊变量,包括主要的系统变量以及它们的含义: $! 最近一次的错误信息 $@ 错误产生的位置 $_ gets最近读的字符串 $. 解释器最近读的行数(line number) $& 最近一次与正则表达式匹配的字符...
后端开发2025年07月05日
一、 Ruby 的赋值实际是以并行方式执行的,所以赋值语句右边的值不受赋值语句本身的影响。在左边的任意一个变量或属性赋值之前,右边的值按他们出现的顺序被计算出来。 1、当赋值语句有多于一个左值时,赋值表达式将返回由右值组成的数组。 2、如果赋值语句的左值多于右值,那么多于的左值将被忽略。如果右值多于左值那么额外的右值将被忽略。 3、如果赋值表达式只有一个左...
后端开发2025年07月05日
我们可以使用Time类来生成一个当前时间的对象: t = Time.new 或 t = Time.now Time类有类方法mktime(同义方法是local方法)来根据传入的参数生成时间对象,并且它使用的是当前的时区: t1 = Time.mktime(2001) # January 1, 2001 at 0:00:00 t2 = Time.mktime...
后端开发2025年07月05日
Ruby中使用yield语句调用block时可以带有参数,参数值见传送个相关联的block。如果传给block的参数是已经存在的局部变量,那么这些变量即为block的参数,他们的值可能会因block的执行而改变。 同样的规则也适用于block内的变量:如果他们第一次出现在block内,那么他们就是block的局部变量。相反,如果他们第一次出现在block外...
后端开发2025年07月04日
1、什么是代码块 在Ruby中,{}或do...end之间的代码是一个代码块。代码块只能出现在一个方法的后边,它紧接在方法最后一个参数的同一行上,由yield关键字调用。例如: [1,2,3,4,5].each { |i| puts i } [1,2,3,4,5].each do |i| puts i end 块变量:以yield关键字调用block也可以...
后端开发2025年07月04日
In Ruby, you check with nil? if an object is nil:article = nil article.nil? # => true empty? checks if an element - like a string or an array f.e. - is empty: # Array [].em...
后端开发2025年07月04日
begin raise 'A test exception.' rescue Exception => e puts e.message puts e.backtrace.inspect end ...