ruby 与 rails

《ruby 教程》 ruby命令行与函数

2017-04-28  本文已影响109人  饥人谷_若愚

命令行参数

新建文件 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

上一篇 下一篇

猜你喜欢

热点阅读