可选的第二个参数被称为模式字符串,它告诉如何打开文件(用于读,写或其它)。模式字符串不做任何事情,它只是个许可。缺省值"r"用于读。这儿是个例子:
file1 = File.new("one")
# Open for reading
file2 = File.new("two", "w")
# Open for writing
new的另一种形式接受三个参数。在这种情况,第二个参数指出文件的原始许可(通常是八进制常量),第三个参数是一组Ored标志。标志是个常量如File:CREAT(当打开时,如果文件不存在则创建它)和File:RDONLY(以只读方式打开文件)。这种形式很少使用。这儿是个例子:
file = File.new("three", 0755, File::CREAT|File::WRONLY)
出于对操作系统或运行时环境的礼貌,总是要关闭你打开的文件。在用于写而打开文件情况下,更应如此才能避免丢失数据。不出意外,close方法用于做到点:
out = File.new("captains.log", "w")
# 必须的步骤...
out.close
这儿是open方法,它简单形式内,它不过是new的同义字,像这样:
trans = File.open("transactions","w")
但是,open可以接受块;这个形式更有趣。当指定块时,打开的文件会被做为参数传递给块。在块的作用域内文件一直保持打开状态,在退出块时自动关闭。这儿是个例子:
File.open("somefile","w") do |file|
file.puts "Line 1"
file.puts "Line 2"
file.puts "Third and final line"
end
# The file is now closed
当我们结束对文件的操作时,很明显这是关闭文件的优雅方式。此外,管理文件的代码在视觉上是个单元。
这个怎么说好呢,它们无非就是一些运算符而已,每个符号的用法也有很多种,具体怎么用可以通过看书、看例子来学习,没必要一下记住那么多。比如:
%#取余运算,如8%3=2
{}#可用在输出,如输出y的值:puts"#{y}",也可用在Hash表如 $R_Key_Hash = {}
. #一般表示某种属性或方法,如对于一个窗口,self.x = 0 表示这个窗口的x坐标为0。
又如
Class Person
def Hello
puts "Hello,my name is Tom."
end
end
p=Person.new
p.Hello #执行这个程序就会输出 Hello,my name is Tom.
? #表判断,如opacity = black_color ? 255 : 128,这个意思是如果是黑色,就不透明,否则为128
, #逗号在数组中较常见,如a = ["1","2","3"],数组a的三个元素依次是1,2,3
‘ #这个在对文件的操作比较常见,如下例:
if Dir.glob('txt').size == 0 #如果文件夹txt不存在
Dir.mkdir('./txt') #那么生成一个名字叫txt的文件夹
end
! # 表示 非 如 if x != 2 表示如果x不等于2
: #这个可能用在属性里
如:
class Game_Picture
attr_reader :number # 图片编号
attr_reader :origin # 原点
attr_reader :x# X 坐标
attr_reader :y# Y 坐标
attr_reader :tone # 色调
attr_reader :angle# 旋转角度
end
#分号的话,一般是写程序每行结束才用到,但其实ruby的每行结束是可以不用分号的,回车换行就行,我也只是在用Interactive Ruby编译器时才会用分号
从我上边的回答可看出,基本每个符号都用几种用法,平时多学习,多积累就好了