命令行参数
新建文件 hello.rb
p ARGV[0]
p ARGV[1]
p ARGV
执行
$ ruby hello.rb hello world
输出
"hello"
"world"
["hello", "world"]
读取文件
新建文件 read.rb
file = File.open ARGV[0] #函数调用的()可以省略
text = file.read
puts text
file.close
执行
$ ruby read.rb text.txt
逐行查找
新建文件 search.rb
file = File.open(ARGV[0]) # 打开文件
patten = eval ARGV[1] # eval 把字符串转换为正则
results = [] # 查找到的行放入这个数组
text = file.read # 读取文件内容
text.each_line do |line| # 对每一行进行操作
if(patten =~ line) # 如果匹配上了
results << line # 把匹配的行放入results数组
end
end
p results
执行
$ ruby search.rb read.rb /file/ # 在刚刚创建的read.rb里找包含file字符串的行
输出
["file = File.open ARGV[0]\n", "text = file.read\n", "file.close"]
定义方法
def fn
puts "hello"
end
fn() # 调用
fn # 调用,可省略()
def sum (a, b)
return a + b
end
sum (1, 2)
def sum_of_square (a, b)
a *= a
b *= b
a + b # 会自动 return 最后一个表达式
end
sum_of_square 3, 4
网友评论