ruby编程记录

来源:互联网 发布:优博瑞cos淘宝店铺 编辑:程序博客网 时间:2024/05/16 02:49

ruby编程记录

1)ruby 安装及 ruby交互式(http://developer.51cto.com/art/200703/41243.htm)
安装ruby及ruby devkit
交互式:

如果你使用Mac OS X,那么请打开终端窗口输入irb;如果你使用Linux,那么请打开shell输入irb;如果你使用windows,那么请在开始菜单中找到Ruby->fxri,并执行它

2)字符串操作

str.length => integer   长度str.include? other_str => true or false   包含子串str.insert(index, other_str) => str   插入子串str.split(pattern=$;, [limit]) => anArray  分割字符串str.gsub(pattern, replacement) => new_str 替换子串str.delete([other_str]+) => new_str   删除子串str.lstrip => new_str     去掉前后空格str.match(pattern) => matchdata or nil 匹配str.reverse => new_str  反转str.to_i=> str 转化为数字chomp:去掉字符串末尾的\n或\rchop:去掉字符串末尾的最后一个字符,不管是\n\r还是普通字符

3)读写CSV文件

require 'csv'#写(第一种)CSV.open(“path/to/file.csv”, “wb”) do |csv| csv << [“row”, “of”, “CSV”, “data”] csv << [“another”, “row”] # … end写(第二种)csv_string = CSV.generate do |csv| csv << [“row”, “of”, “CSV”, “data”] csv << [“another”, “row”] # … end读(第一种)CSV.foreach(“path/to/file.csv”) do |row| # use row here… end读(第二种)arr_of_arrs = CSV.read(“path/to/file.csv”)读(第三种)people=CSV.parse(File.read('data.txt'))  puts people  

4)格式化输出

一、如果输出语句有引号可以加 \ 将其输出puts 'I\'ll say "No!"'二、含参数输出user_name = 'Fei'puts "Let's talk about %s." %user_nameputs "#{user_name} has #{my_eyes} eyes."三、格式化输出formatter = "%s %s %s %s"四、自定义格式化输出my_define = <<MY_HEREDOC\t* Cat foodMY_HEREDOC五、进制转换puts "%X"%16puts "%d"%16六、小数位数控制puts ".2f"% 11.329  #最少5位数(包括小数点)且保留小数点后2位数字puts 11.329.round(1) #留小数点后X位

5)当前文件和文件目录路径

puts Pathname.new(__FILE__).realpath  puts Pathname.new(File.dirname(__FILE__)).realpath

6)变量种类和作用域

一、全局变量以 $ 开头$global_variable = 10二、实例变量以 @ 开头class Customer   def initialize(id, name, addr)      @cust_id=id   endend三、类变量以 @@ 开头class Customer   @@no_of_customers=0end四、局部变量以小写或下划线 _ 。作用域为 classmoduledef 五、常量以大写字母开头。常量不能定义在方法内。class Example   VAR1 = 100   def show       puts "第一个常量的值为 #{VAR1}"   endend六、伪变量self: 当前方法的接收器对象。true: 代表 true 的值。false: 代表 false 的值。nil: 代表 undefined 的值。__FILE__: 当前源文件的名称。__LINE__: 当前行在源文件中的编号。

七、数组切片

ar=[1,2,3,4]ar[0]ar[-1]ar[0..-2]

八、数组与字符串相互转换

str = ary.join(":")   str.split(":")

九、从.env读入环境变量

open('.env', 'r').readlines.each {|l| kv = l.split('='); ENV[kv[0]] = kv[1];}

十、bundle 安装

gem install bundler

Gemfile

source 'https://rubygems.org'gem 'nokogiri'gem 'rack', '~> 2.0.1'gem 'rspec'

安装

$ bundle install$ git add Gemfile Gemfile.lock
原创粉丝点击