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四、局部变量以小写或下划线 _ 。作用域为 class、module、def 五、常量以大写字母开头。常量不能定义在方法内。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
阅读全文
0 0
- ruby元编程记录
- ruby编程记录
- ruby 元编程 学习记录-关于动态代理
- Ruby学习记录 - 安装Ruby
- Ruby学习记录~
- ruby+watir--问题记录
- 【Ruby】语法记录一
- ruby基础记录
- ruby环境搭建记录
- Ruby学习记录——安装Ruby
- Ruby中的SOAP编程
- Ruby 编程指南
- ruby---分布式编程
- Ruby 编程规范
- ruby cgi编程示例
- Ruby 101:动态编程
- ruby元编程
- ruby编程规范
- 网页刷新或关闭事件
- java之深入理解toString()
- easyui datagrid 随 div不显示
- 云计算的初识
- web打印的几种方案
- ruby编程记录
- 习题4.1(3)
- @Override的作用
- 如何用数学课件制作工具画直角三角形
- kafka(4)--使用Streams处理数据
- Logistic回归算法
- 对象的上转型对象
- Android Studio for Ubuntu 14.04 无法输入中文解决办法
- 我们为什么要使用 AOP