ruby
文章平均质量分 76
ruby小酱
爱好技术 崇尚Geek
展开
-
ruby学习笔记-常量及作用域
ruby学习笔记-常量及作用域1、常量的创建AAA = 123; (首字母必须大写,不过习惯性全部字母大写)无需指定数据类型,因为ruby是弱类型脚本语言。2、原创 2015-04-10 11:08:53 · 513 阅读 · 0 评论 -
认识六个被误解的 Ruby 特性
认识六个被误解的 Ruby 特性了解那些易于成为 C++ 开发人员羁绊的 Ruby 特性假设您是一名 C++ 开发人员,您需要使用 Ruby 快速执行一些原型设计。当您拿起一本 Ruby 参考书籍(比如 Pickaxe)或浏览 Ruby 网站时,会看到一些熟悉的构造,比如类声明、线程支持和异常处理。正当您认为自己了解 Ruby 的工作原理之时,您意识到了,您 Ruby 代码中的并发原创 2015-04-29 10:07:59 · 299 阅读 · 0 评论 -
ruby require include的区别
“require” 可載入某個 a.rb 檔案, 且可以省略 ”.rb”. 而且它只會在第一次的時候載入, 若再次 “require” 時就會忽略require 'a'a = A.new “load” 和 “require” 一樣但要用 a.rb 全名, 且每次一定會重新載入load 'a.rb'a = A.new 載入程式庫的順序呢(類似 java cla原创 2015-04-29 13:32:43 · 505 阅读 · 0 评论 -
Ruby 元编程 类的真相
什么是对象:对象无非就是一组实例变量外加一个指向其类的引用。对象的方法并不存在与对象本身,而是存在与对象的类中。在类中,这些方法被称为类的实例方法什么是类 : 类无非是一个对象(class 的实例)外加一组实例方法和一个指向其超类的引用。Class类是Module类的子类,因此一个类也是一个模块跟任何其他对象一样,类有自己的方法如new(),这些是Class的实例方法,跟其他类一样,需要引原创 2015-05-02 09:17:32 · 370 阅读 · 0 评论 -
Ruby on rails 实战圣经:安装Rails开发环境
安装Rails开发环境Give someone aprogram, you frustrate them for a day; teach them how to program, you frustratethem for a lifetime. - David Leinweber在这一章中,我们将介绍如何安装Rubyon Rails的开发环境。开发Rails的环境需要:·原创 2015-05-02 09:52:26 · 201 阅读 · 0 评论 -
Ruby on rails 实战圣经:Rails起步走
Rails起步走There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are n原创 2015-05-02 09:54:23 · 243 阅读 · 0 评论 -
Ruby on rails 实战圣经: 深度剖析环境设定与Bundler
Complication is WhatHappens When You Try to Solve a Problem You Don’t Understand - Andy Boothe目录结构这一节让我们走访一个 Rails的目录结构:app/app 目录是你主要工作的地方,不同子目录存储了 Models、Controllers、Views、Helpers和 A原创 2015-05-02 09:57:48 · 574 阅读 · 0 评论 -
在rails 的devise 组件中定制自己的controller
项目需求,需要在用户管理模块中增加 group 群组字段。使用 devise gem。具体的方法参加: https://github.com/plataformatec/devise1:Encryptable:除了内置的Bcrypt(默认),增加支持认证机制2:Lockable:锁定一定数量的失败尝试登录。通过电子邮件或之后才能解锁3:validatable原创 2015-05-02 10:11:04 · 213 阅读 · 0 评论 -
rails 中把关联的数据表单 直接变成 json对象 渲染
http://stackoverflow.com/questions/3462754/rails-object-relationships-and-json-rendering主表:[ruby] view plaincopyclass Pipeline has_many :sensors , :foreign_key => :pipeline_cod原创 2015-05-02 10:15:12 · 299 阅读 · 0 评论 -
Ruby on Rails总结(一)
环境相关:一、命令:1、更新rails的安装版本: gem update rails2、更新版本后rails自动保存升级前的旧版本文件,使用gem cleanup命令删除这些文件3、安装最新版本的Rails后,利用Rake rails:update命令跟新rails在创建应用程序之初加入其中的那些文件4、创建项目 切换到相应的目录,输入命令“rails原创 2015-05-02 11:54:48 · 281 阅读 · 0 评论 -
Ruby on Rails总结(二)
1、link_to()方法 这个方法可以创建指向一个动作的超链接(事实上还含有额外的功能)例如:两个页面之间的跳转功能可以用到此方法,每个页面中都有一个超链接指向对方,如:rails项目中的两个页面模板:hello.html.erb和goobbye.html.erb,这两个文件可以由命令行生成控制器类的时候一并生成(如:在控制台下输入rails generate con原创 2015-05-02 11:56:57 · 204 阅读 · 0 评论 -
Ruby on Rails总结(三)
1、Ruby中将一个字符串的首字母变为大写capitalize()方法 字符串.capitalize 例如:def say_goodmorning(name) result = "good morning #{name.capitalize}" return result;endputs say_goodmorning('li原创 2015-05-02 11:57:50 · 202 阅读 · 0 评论 -
Ruby on Rails总结(四)
1、类 classOrder defself.sayHello end end 定义了ActiveRecord模块中的Base类的子类Order,再类中利用self.方法名定义的方法是类方法,调用的方式为Order. sayHello 从原创 2015-05-02 11:59:56 · 218 阅读 · 0 评论 -
Ruby on Rails总结(五)
1、命令(1)rake db :migrate:redo撤销和重新应用最后一次迁移。 2、数据库相关 如果使用的数据库是sqlite3并且系统是win764位系统,则创建完项目之后要到项目的根目录下的Gemfile.lock文件中将sqlite3 (1.3.8-x86-mingw32)改为sqlite3 (1.3.8-x64-mingw32)因为在win764位系统原创 2015-05-02 12:02:04 · 334 阅读 · 0 评论 -
Ruby on Rails总结(六)
1、Ruby中的数据验证(1)验证非空的文本字段例如:validates:title, :description, :image_url, :presence=>true这个validates是个标准的Rails验证器。它会根据一个或多个条件来验证一个或多个模型字段。:presence:=>true让验证器核实每个已命名的字段都存在,并且其内容不为空。 上述代码原创 2015-05-02 12:02:33 · 237 阅读 · 0 评论 -
Ruby on Rails,使用where方法对持久化对象进行条件查询
原创 2015-05-02 12:08:04 · 243 阅读 · 0 评论 -
ruby , each,map,collect,inject,reject,select,shuffle[n..m],flatten
一。把一字符串,根据其中的特殊字符 “.“ 分割成数组并去除空的字符串 ,我们得到一个数组 arr[ruby] view plaincopyarr = '.666.555.444.333.22.11.'.split('.').reject(&:blank?) = 。each 的使用数字:[ruby] view pla原创 2015-05-02 08:43:34 · 226 阅读 · 0 评论 -
Ruby 元编程 代码块
闭包[ruby] view plaincopy2.0.0p247 :133 > def my_method 2.0.0p247 :134?> x="GoodBye" 2.0.0p247 :135?> yield("cruel") 2.0.0p247 :136?> end => nil 2.0.0p247 :137 > x = "He原创 2015-05-02 09:14:53 · 227 阅读 · 0 评论 -
Ruby 元编程 方法
1.动态方法 (send && fine_method) -- 动态派发 , 动态创建, 动态内省 缩减代码[ruby] view plaincopy2.0.0p247 :071 > class Computer 2.0.0p247 :072?> def initialize(computer_id, data_source) 2.0.0p247 :0原创 2015-05-02 09:15:09 · 245 阅读 · 0 评论 -
Ruby 一些常用的细节
1.try 永远不会抛出异常 在 没有的时候 返回 nil [ruby] view plaincopyprovince_id = Province.find_by_name(prov).try(:id) 2.find(:first, :condotions) 方法 不言而与[ruby] view plaincopymob原创 2015-05-02 09:31:10 · 366 阅读 · 0 评论 -
Ruby on rails 实战圣经:Routing 路由
Weeks of programming cansave you hours of planning. – Unknown不同于PHP的路由系统是直接对应于档案的目录结构,一个Web开发框架会将路由功能纳入其中,来获得最大的弹性。也就是您可以指定任意URL对应到任一个Controller的Action。另一方面,我们也不在Views中直接写死URL网址,而是透过Helper辅助方法根据你的路由原创 2015-05-02 09:50:37 · 382 阅读 · 0 评论 -
Ruby on rails 实战圣经:入门导览->Ruby on Rails 简介
Ruby on Rails 简介“Life’s too short tobuild something nobody wants” - Ash Maurya, Running Lean作者Ruby on Rails是一套非常有生产力、维护性高、容易布署的Web开发框架。从一开始不知名的玩具,到现在它已经成为全世界Web应用程序开发的首选框架之一。进入学习的旅程之前,我们先了解为什么它如原创 2015-05-02 09:51:28 · 500 阅读 · 0 评论 -
Ruby on rails 实战圣经:Ruby程序语言入门
Actually, I’mtrying to make Ruby natural, not simple. Ruby is simple in appearance, but isvery complex inside, just like our human body. - Matz, Ruby发明人Ruby是个美丽、灵巧而且方便又实用的程序语言,而Ruby on Rails正是 R原创 2015-05-02 09:54:24 · 239 阅读 · 0 评论 -
ruby对文件的各种操作
转载▼ # 详情请查看../ruby/lib/ruby/1.8目录下的fileutils.rb文件一 目录的部分操作 1. 新建文件夹 Dir.mkdir("f:/testdir") 2. 删除文件夹 Dir.rmdir("f:/testdir") 3. 查询当前目录下的文件 p原创 2015-05-02 15:47:39 · 545 阅读 · 0 评论 -
Rails 数据库操作
转载▼ 数据库元被影射成对象(object-relational mapping (ORM)层)Ruby代码tableclass rowobject columnobject attribute class和table的命名对应关系实例:Ruby代码原创 2015-05-02 15:41:43 · 267 阅读 · 0 评论 -
有关Ruby的Symbol
学习Ruby的人都会对它的Symbol疑惑,我也一样,所以要多花点时间研究一下Symbol。 Symbol中文叫符号,因该是用来标记某样东西的。初看了一些资料,在我的脑海中,觉得Symbol就像是String一样,可以作为访问器中变量名,方法参数和hash的键,这不就是String吗。是不是呢?继续研究。 什么是Symbol在形式上,最前面是个冒号的就是S原创 2015-04-30 09:36:06 · 208 阅读 · 0 评论 -
Ruby之symbol研究
1、在一个名字或者字符串前面加上冒号,得到一个symbol对象。还可以通过String#to_sym、Fixnum#to_sym和String#intern得到。2. 一般用symbol做hash的key,号称是为了节省内存,提高执行效率。3. 为什么可以节省内存?Ruby中的String是可变对象,这一点跟Java、C#、Python都不一样。注意跟某些C++标准库中的COW的b原创 2015-04-30 09:37:42 · 249 阅读 · 0 评论 -
Ruby正则表达式(上)
先推荐一个在线的Ruby正则表达式编辑器http://www.rubular.com/Ruby的正则表达式以"//"作为构造方法。表达式返回一个RegExp的对象。 一般规则: /a/匹配字符a。 /\?/匹配特殊字符?。特殊字符包括^, $, ? , ., /, \, [, ], {, }, (, ), +, *. .匹配任意字符,例如/a原创 2015-04-30 10:23:50 · 201 阅读 · 0 评论 -
ruby 数组指定方式排序
在Rails里,我们可以用sort_by方法对一个Ruby对象数组按照某个属性进行排序,如:ruby 代码User.find(:all).sort_by {|u| u.name.downcase} 这等效于ruby 代码@users = User.find(:all) @users.sort! { |a,b| a.name.downcase原创 2015-04-30 15:10:53 · 854 阅读 · 0 评论 -
ruby学习笔记之数组学习(二)
Array 类说明函数名称说明示例&数组与,返回两数组的交集(得到的结果顺序以前一个顺序为准,看例子)[ 1,2] & [2,3]» [ 2][1,2]&[1,2,3] = [1,2][2,1]&[1,2,3] = [2,1][2,1,3]&[1,2] = [2,1][1,3,2]&[3,1]原创 2015-04-30 16:13:30 · 158 阅读 · 0 评论 -
ruby中类变量与实例变量
以@开始的变量是【实例变量】,实例变量属于特定的对象。class Persondef initialize(name, gender, age)@name = name@gender = gender @age = ageendend上面的例子中,@name,@gender,@age都是实例变量。可以在类或子类的方法中引用实例变量。若引用尚未被初始化的原创 2015-04-30 16:16:10 · 159 阅读 · 0 评论 -
ruby rails 的复制 dup clone
[ruby] view plaincopyRuby内置的方法Object#clone和Object#dup可以用来copy一个对象,两者区别是dup只复制对象的内容,而clone还复制与对象相关联的内容,如singleton method [ruby] view plaincopyprint? s = "cat" def s.upcase "CaT"原创 2015-04-30 16:25:01 · 227 阅读 · 0 评论 -
[Ruby学习总结]Ruby中的类
1、类名的定义以大写字母开头,单词首字母大写,不用"_"分隔2、实例化对象的时候调用new方法,实际上调用的是类里边的initialize方法,是ruby类的初始化方法,功能等同于Java中的构造方法[plain] view plaincopyclass Person def initialize(name, gender,原创 2015-04-30 09:34:10 · 193 阅读 · 0 评论 -
ruby学习笔记之数组学习(一)
数组:方括号之之间放一组元素,索引从零开始。如果这个位置上没有对象,则返回nil表示空。使用负整数访问数组,则从数组末端开始计数。一、数组定义a = [3.14159,"pai",99]puts a.classputs a.lengthputs a[0]输出:Array33.14159b=Array.new原创 2015-04-30 16:12:48 · 182 阅读 · 0 评论 -
ruby学习笔记—json解析
require 'rubygems'require 'json' def json_to_hash(json) json_result = JSON.parsejson return json_result end例如:以下格式json串:{ "data" : [ { "data" : [原创 2015-04-30 16:13:22 · 288 阅读 · 0 评论 -
Ruby rails 页面跳转(render和redirect_to)
Ruby代码 1. render :action => "long_goal", :layout => "spectacular" 2. render :partial => "person", :locals => { :name => "david" } 3. render :template => "weblog/show", :locals => {:custo原创 2015-04-30 16:24:05 · 324 阅读 · 0 评论 -
Ruby method 学习笔记
Ruby 关于Method一、 定义方法使用关键字 def方法名称以小写字母或下划线开头,后面跟着字母、数字和下划线有的方法名后面跟着?,!或=方法名有?通常意味着方法返回boolean型结果例:1.even? # => false2.even? # => true1.instance_of?(Fixnum) # => true方法名后有!,则此方法的接收者将被修改方法名原创 2015-04-30 16:36:00 · 266 阅读 · 0 评论 -
ruby中类方法与实例方法调用
对此略懂, 简单解答下你的问题, 这块确实是ruby深入理解的关键点.首先,要明白一点: Ruby一切皆对象.什么意思呢? Ruby一个类也是一个对象(使用XX.class知道它的类是Class),它也具备方法(即所谓的类方法).这个可以称之谓元类(MetaClass)而Ruby中调用方法逻辑很简单:1. 查询该对象所属类中的所有方法,如果存在调用之,如果不存在则调用父原创 2015-04-30 16:14:19 · 324 阅读 · 0 评论 -
[RMXP发布] [Ruby] 对象序列化 Marshal 格式 dump 规则
好像有不少人想知道 .rxdata 的结构,所以就写了一篇文章来介绍 Marshal.dump 的格式(.rxdata 格式是多次 Marshal.dump 对象后的数据文件)。XP 的 script.rxdata 在 dump 之后另有一层 DEFLATE 压缩算法,而其它的默认数据文件则是直接的对象序列化数据。由于我用 XP 比较多,所以发到 XP 区,其实和 VX 也应该通用,毕竟 Mars原创 2015-04-30 16:21:13 · 318 阅读 · 0 评论 -
使IRB语法高亮方法的办法
1.安装wirblegem install wirble2.添加或者修改~/.irbrc文件require 'rubygems'require 'wirble'Wirble.initWirble.colorizeIRB.conf[:AUTO_INDENT] = trueIRB.conf[:USE_READLINE] = trueIRB.conf[:LOAD_原创 2015-04-30 09:33:03 · 309 阅读 · 0 评论