zoukankan      html  css  js  c++  java
  • 《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)
  • 相关阅读:
    azure虚拟机创建后如何ssh私钥连接
    VisualStudio在本地创建新解决方案后如何推送到devops
    【转载】sar命令详解
    【转载】Redis【入门】就这一篇!
    【转载】算法复杂度解析,何为O()
    centOS data格式文件
    linux centOS命令整理
    机器学习中评估计算:PR,ROC,AUC计算方法
    Python中中文输出显示以及列表初始化坑坑
    SKLearn中模型持久化
  • 原文地址:https://www.cnblogs.com/blueswitkey/p/2919915.html
Copyright © 2011-2022 走看看