《ruby编程教程》学习笔记

视频教程 AL VTC

2.19

    • instance variable 实例变量,前面加一个@,在类的一个对象中存在
    • class variable 类变量,前面加@@,在类中一直存在
    • local variable 临时变量,前面不加@,在一个函数类存在
    • 在""中替代变量值
puts "a=#{a}"
  • 循环:while loop;for….in; .time ; .upto ; .step;
  • 迭代遍历: .each ; .each_byte ; for …. in
  • module: module … end;
  • block: yield占位; 5.times{ |var| puts var }
  • exception: begin … rescue … end;
  • ruby tool: ri 帮助;irb 模拟; ruby 运行; gem 文件组织包
  • everything in ruby is object

2.20

  • string
  • 单引号是单纯字符串,双引号字符串可替换内容
a = "world"
b="Hello #{a}"
=>"Hello world"
%q/This is a string/   # %q/ … /相当于单引号
%Q/This is a string/ # %Q/ .. /相当于双引号
    • a<=>b  如果a>b返回1 , 如果a=b,返回0,如果 a<b返回-1.
    • str = <<END_OF_STRING … END_OF_STRING,合并中间字符串
    • str.method:downcase小写,capitalize首字母大写,lstrip去除左边空格,rstrip去除右边空格,insert插入,split分割,slice截取一部分,index查询位置,include是否包含,sub替换子串,gsub,替换所有子串,to_i转化为整型,to_f转化为浮点。
    • Input output
    • puts输出字符串,自动换行,可写入文件;print输出,不换行,putc输出字符
    • gets获取舒服,自动加'\n',gets.chomp去掉'\n'
    • 打开文件1.
filename = "test.txt" #if File.file? filename
File.open(filename) do |file|
    while line = file.gets
        puts line
    end
end
    • File.readable?filename 可读
    • File.file?filename 存在
    • File.executable?filename 可执行
    • 2.
IO.foreach(filename){|line| puts line}
    • 3.
str = IO.read(filename)
    • 4.
arr = IO.readline(filename)
    • 写入:file.puts str
    • 目录 Dir pwd当前目录 entries() 进入
    • 写入CSV文件
require "csv"
csv.open("data.csv",'w‘) do |data|
    data << ['name','ext','room']
    data << ['Al','123','1']
    data << ['Ed','122','2']
    data << ['Ann','121','3']
end
    • 读取CSV文件
require 'csv'
print "Enter a csv file to print:"
filename = gets.chomp #去除gets中的'\n'
csv.open(filename,'r') do |data|
    puts data #puts简写为p时会有格式[]
end
  • require,load,include区别
    • require,load用于包含文件,include用于包含模块
    • require加载一次,load可加载多次,require加载不加后缀,load需加后缀
    • require一般用于加载库文件,load一般加载配置文件
  • regular expression
  • str.sub(/\b0,/)
  • Regexp.compile("[a-e]") =>/[a-e]/
  • 数字
  • 0b010为二进制00.0b开头
  • 64**2 = 4096 <=> 64^2
  • 输出浮点: printf("x=%6.2f\n",x)

posted on 2013-02-21 04:57  冰河程序猿  阅读(242)  评论(0编辑  收藏  举报

导航