命令行參數(shù)
新建文件 hello.rb
p ARGV[0]
p ARGV[1]
p ARGV
執(zhí)行
$ ruby hello.rb hello world
輸出
"hello"
"world"
["hello", "world"]
讀取文件
新建文件 read.rb
file = File.open ARGV[0] #函數(shù)調(diào)用的()可以省略
text = file.read
puts text
file.close
執(zhí)行
$ ruby read.rb text.txt
逐行查找
新建文件 search.rb
file = File.open(ARGV[0]) # 打開文件
patten = eval ARGV[1] # eval 把字符串轉(zhuǎn)換為正則
results = [] # 查找到的行放入這個數(shù)組
text = file.read # 讀取文件內(nèi)容
text.each_line do |line| # 對每一行進(jìn)行操作
if(patten =~ line) # 如果匹配上了
results << line # 把匹配的行放入results數(shù)組
end
end
p results
執(zhí)行
$ ruby search.rb read.rb /file/ # 在剛剛創(chuàng)建的read.rb里找包含file字符串的行
輸出
["file = File.open ARGV[0]\n", "text = file.read\n", "file.close"]
定義方法
def fn
puts "hello"
end
fn() # 調(diào)用
fn # 調(diào)用,可省略()
def sum (a, b)
return a + b
end
sum (1, 2)
def sum_of_square (a, b)
a *= a
b *= b
a + b # 會自動 return 最后一個表達(dá)式
end
sum_of_square 3, 4