在Ruby中读取一个文件有两种方法:require和load。这两者的区别在于:
load “file.rb”load “file.rb”
这段代码会把file.rb读取两边。而如果是:
require “file.rb”require “file.rb”
这样子的代码,file.rb只是在第一次的时候被载入,接下来那次其实是没有作用的。所以如果遇到一些程序的值是被修改过的,我们就需要用到load来保证ruby读到的是最新的内容。
可是我的问题出现在第二次用load读取文件的时候。我先建立一个文件名为reqdemo.rb的文件:
puts “This is the first (master) program file”require ‘requiree.rb’puts “And back again to the first file.”
先让ruby输出一段字符”This is the first (master) program file”,然后在读取reuiree.rb的文件内容,最后再输出一段字符”And back again to the first file.”。接着我们创建requiree.rb文件,输入如下代码:
puts “>This is the second file, which was ‘required’ by the first.”
所以如果运行reqdemo.rb,我们能得到如下结果:
c:\ruby4rails>reqdemo.rbThis is the first (master) program file.>This is the second file, which was [...]
Category Archives: Getting started with Ruby
Ruby中Load的用法和一个疑问
Ruby学习笔记2
今天碰到的问题两个:
1.class/module name must be CONSTANT
这个问题发生在定义的类或者模块首字母没有大写,我刚开始的时候是这么写的:
irb(main):002:0> class song
irb(main):003:1> def name
irb(main):004:2> @name
irb(main):005:2> end
irb(main):006:1> def artist
irb(main):007:2> @artist
irb(main):008:2> end
irb(main):009:1> def duration
irb(main):010:2> @duration
irb(main):011:2> end
irb(main):012:1> end
于是在最后一个end的时候发生了如下错误:
SyntaxError: compile error
(irb):2: class/module name must be CONSTANT
from (irb):12
from:0
再修改了之后,输入:
irb(main):013:0> class Song
irb(main):014:1> [...]
Ruby的instSection怎么用?
最近在看Programming Ruby英文的第二版。
因为工作很忙的关系,所以看书的进度一直很慢。到今天还在看Array和Hash的那个部分。
在看书中的例子的时候,发现”instSection”的用法我不是很明白。在我下载的PDF文档上写的是inst_section,可是我发现在网上查到的资料都是instSection -________-
另外,就算是instSection,我能够书面上理解例题的含义,可惜自己写的脚本却没法成功地验证..真是郁闷啊。
Technorati : just start, ruby, study

