![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Ruby
fellowfellow
这个作者很懒,什么都没留下…
展开
-
Ruby 特殊笔记
Time类中的+,-等运算符,精确到秒,不能进行微妙级别的运算a = Time.at(02).utc # => 1970-01-01 00:00:20 UTC b = a + 2 # => 1970-01-01 00:41:42 UTC a = Time.at(02,500).utc # => 1970-01-01...原创 2012-05-15 12:31:50 · 64 阅读 · 0 评论 -
Ruby中的闭包
闭包的一个重要特征是:过程(方法)内部定义的变量,即使在方法调用完成以后,仍然可以继续引用到。 def method(n) puts "n=#{n}"; #测试用 return proc{|i| n +=i } #关键:proc是一个过程对象,只能由"委托"用call来调用,这里在过程内部引用了参数变量n,将会在多次call该过程后,保留对n的引用,形成闭包!...原创 2012-04-06 14:58:47 · 54 阅读 · 0 评论 -
Ruby中的inject
结论: [1, 2, 3, 4].inject(0) { |result, element| result + element } # => 10 inject带有一个参数和block。block中的两个参数是有含义的。第一个参数reslut在inject第一次执行block时把inject带的参数付值给它,element就是数组中的元素,该例中inj...原创 2012-04-07 13:21:52 · 69 阅读 · 0 评论 -
松本行宏的程序世界笔记--第六章 方法、Proc、lambda和闭包
Invoking a Method on An Objectfirst = text.index(pattern)这段代码把pattern变量传递给index方法,index方法属于一个存储在text变量中的对象,返回值被存储到变量first中。 单键方法o = "message" # 在字符串对象上定义它独有的方法def o.printme ...原创 2012-04-14 09:41:04 · 63 阅读 · 0 评论 -
Rails Import csv file into database | utf-8 encoding
#lib/tasks/import.rake ------------------------------------------------------------------# encoding: utf-8 ///magic encoding 该注释可读取utf-8 require 'csv' desc "Import data from csv fil...原创 2012-11-12 11:15:57 · 98 阅读 · 0 评论 -
解决Jquery Mobile 不支持 file_field (上传文件)
Reason for file uploading problem with jQuery Mobile is that by default, form submits data using ajax. With Ajax, file input data is not submitted, and solution is very simple, just disable the ajax f...原创 2012-11-13 17:07:20 · 287 阅读 · 0 评论 -
遇到困难的时候
不顺利的时候:1 忘记deadline,静下心,一行一行代码,一行一行文字,仔细阅读2 分解成最最细小的任务,一步一步完成原创 2012-11-19 14:58:05 · 96 阅读 · 0 评论 -
Amazon Linux + Passenger + Nginx Module + Rails
版本信息:Amazon Linux Paseenger 4.0.2Rails 3.2.13 STEP 1 新建一个rails用户,将用户权限改为755,以便于设置Nginx Root /app/public 不会产生permission deny的问题。public文件夹能够被所有用户访问是不够的,需要所有父文件夹都具有可执行权限。 sudo ...原创 2013-05-23 15:27:35 · 224 阅读 · 0 评论 -
Uploading images from an iPhone app to Rails
http://brainbowapps.com/articles/2010/uploading-files-from-iphone-to-rails.html原创 2012-12-26 18:07:55 · 62 阅读 · 0 评论 -
Rails form text_field
<%= f.text_field :email , :value => session[:user_email], :readonly => true %> 可在params中传递email <%= f.text_field :email , :value => session[:user_email], :disabled=>t...原创 2013-01-30 18:30:05 · 278 阅读 · 0 评论 -
Five Common Rails Mistakes
总结:1 数据库需要Validation,也就是给migration添加(t.integer "user_id", :null =>false),以保证即使在代码有错误的情况下,数据库也不被污染2 写面向对象的程序,而不仅仅是面向MVC的程序3 使用Content_tag helper method,让html更加干净4 使用 find_each 代替 each ...原创 2013-02-25 17:25:17 · 145 阅读 · 0 评论 -
Ruby中的相等:==,===,eql?,equal?,<=>
==,===,eql?,equal? 都有些啥区别 Equality (==, eql?, equal?) == 普通的相等,不对object_id是否相等进行检查eql? 和 == 是相同的, equal?则是要对object_id是否相等进行检查 “test” == "test" #=> return true,因为两者的值相等...原创 2012-04-06 14:15:58 · 298 阅读 · 0 评论 -
Ruby 奇怪的赋值问题
结论: 赋值 非 拷贝 Ruby1.9.3 例1 a = [1,2,3]b = a #只是引用,不是拷贝a << 4puts a #=> [1,2,3,4]puts b #=> [1,2,3,4] 例2 a = [1,2,3]b = a b &l...2012-04-03 23:30:35 · 105 阅读 · 0 评论 -
ruby $: 含义
http://kenbeit.com/posts/98/ruby小技巧之$: 一直能看到一些gem里面会有这样一句代码: $:.unshift File.expand_path('..', __FILE__)这句话是干什么用的呢$:就是ruby的一个全局变量,也叫$LOAD_PATH,功能就是java中的c...原创 2013-03-13 10:10:01 · 169 阅读 · 0 评论 -
[rails] size, count 和length的区别
#count方法总是会产生count(*)的SQL语句去查询数据库,而#length方法总是取查询出的集合的个数,它总是不会产生count(*)的查询,#size方法就比较好了,如果目标集合还没有取出来,它会像#count方法一样,产生count(*)的查询,如果记录已经取出来了,它就像#length方法一样,直接读取集合的个数了。 source:http://qichunren.i...原创 2013-03-13 16:35:40 · 317 阅读 · 0 评论 -
[Rails] Miniprofiler 性能检测
Step1 gem 'rack-mini-profiler' Step2 测量某一段代码 Rack::MiniProfiler.step("User Auth") do @users = User.all end Reference:http://railscasts.com/episodes/368-mini...原创 2013-03-13 17:38:46 · 104 阅读 · 0 评论 -
Reactor模式
Reactor这个词译成汉语还真没有什么合适的,很多地方叫反应器模式,但更多好像就直接叫reactor模式了,其实我觉着叫应答者模式更好理解一些。通过了解,这个模式更像一个侍卫,一直在等待你的召唤,或者叫召唤兽。 并发系统常使用reactor模式,代替常用的多线程的处理方式,节省系统的资源,提高系统的吞吐量。 先用比较直观的方式来介绍一下这种方式的优点,通过和常用的多线程...原创 2013-03-14 13:19:43 · 74 阅读 · 0 评论 -
require & require_relative
Ruby 1.9.x开始,require 同一文件夹中的文件提示 in `require': no such file to load 错误。 解决方式: 1、用 require_relative : require_relative 'xxx.rb' 2、往 $: 中加入目录路径: $:.unshift File.dirname __FILE__ ...原创 2013-03-19 10:31:20 · 239 阅读 · 0 评论 -
Ruby进程(1) Process.fork 和 Kernel#exec, Kernel#system and Backticks(%x) 比较(Linux)
1 同样都是创建子进程 Process.fork{ } 是非阻塞的执行,创建的子进程与父进程并发运行,需要使用Process.wait或者Process.detach来防止产生zommbie processKernel#exec, Kernel#system and Backticks(%x)阻塞的执行,调用者将等待被调用的返回 2 Kernel#exec, Kernel#...原创 2013-03-28 17:08:00 · 220 阅读 · 0 评论 -
Ruby进程(2) Process创建和回收 --- Process.fork, Process.wait和Process.detach
Process.fork{} 当block为空的时候,fork会返回2次结果,一次是在父进程中,返回子进程的pid,一次是在子进程中,返回nil。Creates a subprocess. If a block is specified, that block is run in the subprocess, and the subprocess terminates wi...原创 2013-03-28 17:47:13 · 897 阅读 · 0 评论 -
Ruby线程
Thread.new([arg, ...]) { ... }Thread.start([arg, ...]) { ... }Thread.fork([arg, ...]) { ... }生成线程,并开始对块进行计算.参数会被原封不动地传递给块. 这就可以在启动线程的同时,将值传递给该线程所固有的局部变量.返回生成的线程. Thread.join 挂起当前线程,直到...原创 2013-03-28 17:55:32 · 82 阅读 · 0 评论 -
Ruby进程(3) Process.fork 和 Ruby 1.9.2 中的新方法 Process.spawn的区别
简单来说:Process.spawn = Process.fork + exec Process.fork allows you to run ruby code in another process. Process.spawn allows you to run another program in another process. Basically Process.spawn ...原创 2013-03-28 18:00:59 · 583 阅读 · 0 评论 -
Ruby 循环中的变量选择:局部变量还是实例变量
From the ruby programming language.Blocks and Variable ScopeBlocks define a new variable scope: variables created within a block exist only within that block and are undefined outside of the block. ...2012-04-03 22:13:48 · 119 阅读 · 0 评论 -
Tell, don't ask 原则
Tell, don't ask 原则 Source: http://www.aqee.net/tell-dont-ask/ 前些时间我曾经翻译过一篇叫做《这里我说了算!》的文章,里面作者讲述了关于“命令,不要去询问(Tell, Don’t Ask)”原则:我看到的最多被违反的原则是“命令,不要去询问(Tell, Don’t Ask)”原则。这个原则讲的是,一个对象应该...原创 2013-02-27 11:03:11 · 310 阅读 · 0 评论