ruby学习笔记 -- 持续更新

本文详细介绍了Ruby编程的学习工具、步骤、语法特性如%w式化命令、字符串格式化、unless表达式的使用、ActiveRecord数据库操作、Rails中的validates方法、ApplicationController的Filters以及异常处理等核心知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于最近工作需要,要对redmine进行修改,其中用到了ruby,毕竟不熟悉,对学习过程做些记录。


学习工具:rubymine / aptana 3,2个办公环境所以选用了2套

学习步骤:

  1. 20分钟体验Ruby (http://www.ruby-lang.org/zh_cn/documentation/quickstart/);
  2. ruby api(http://www.ruby-doc.org/);
  3. ruby on rails (http://rubyonrails.org/),3.2api:http://api.rubyonrails.org/v3.2.0/;



%w格式化命令(from qiezi) 可以少打几个引号

%w{a b c d} #等价 ['a', 'b', 'c', 'd']  

字符串:

%Q{\n這是一個雙引號的字串\n}=“\n這是一個雙引號的字串\n”



unless的使用

*ruby unless 表达式在条件为false才运行代码块

ActiveRecord

ActiveRecord是Rails进行数据库操作的核心组件。它采用标准的ORM模型,将表映射到类,将行记录映射到实例对象,将字段映射到对象的属性。
参考:http://314858770.iteye.com/blog/691370

rails中validates及各种方法

ApplicationController的Filters

可將Controller中重複的程式抽出來,有三種方法可以定義在進入Action之前、之中或之後執行特定方法,分別是before_filter、after_filter和around_filter,其中before_filter最為常用。這三個方法可以接受Code block、一個Symbol方法名稱或是一個物件(Rails會呼叫此物件的filter方法)。
http://ihower.tw/rails3/actioncontroller.html

ruby中的异常处理:

Ruby 异常处理 rescue与ensure  
raise.. #抛出异常
rescue [ExceptionType = StandardException] #捕获指定类型的异常 缺省值是StandardException
retry 用于 rescue 代码表示又重新执行 begin 代码.
ensure #不管有没有异常,进入该代码块


Ruby的标识名区分大小写
Ruby使用一个约定来帮助它区别一个名字的用法:名字前面的第一个字符表明这个名字的用法。局部变量、方法参数和方法名称应该用一个小写字母开头或者用一个下划线开头;

全局变量用美元符作为前缀 $;

而实例变量用 @ 开头;

类变量用 @@ 开头;

类名、模块名和常量应该用大写字母开头。
词首字母后面可以是字母、数字和下划线的任意组合; @ 后面不可以直接跟数字。


each:

(0 .. 10).each {|x|
  p x
}

或者:

(0 ... 10).each do |x| 
  p x
end

 [0,1,5].each do |x| 
  p x
end

读取文件并打印内容:

File.open("E:\\test\\adb.h") do |file|
  p file
  file.each do |line| 
    p line 
  end
end 
puts File.exists?($gFile)       #文件是否存在
puts File.directory?($gFile)    #文件是否是目录路径
puts File.file?($gFile)        #是否是文件
puts File.zero?($gFile)        #文件内容长度是否为0
puts File.size($gFile)        #获取文件大小
puts File.readable?($gFile)    #文件是否可读
puts File.stat($gFile)        #文件状态,文件实例
puts File.basename($gFile,".c")   # 文件名称 


打印目录:

Dir.foreach("E:\\test\\adb\\") do |ff|
    puts ff
end  

这儿有文件例子:http://blog.youkuaiyun.com/passionboyxie/article/details/7377753


ascii 和 char的转换:

#ascii => char
irb(main):008:0* 97.chr
=> "a"
# char=>ascii
# http://chinacheng.iteye.com/blog/1537113




参考:http://www.iteye.com/topic/24642


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值