Ruby 一些经常使用的细节】的更多相关文章

1.try 永远不会抛出异常 在 没有的时候 返回 nil province_id = Province.find_by_name(prov).try(:id) 2.find(:first, :condotions) 方法 不言而与 mobile_info = MobileInfo.find(:first, :conditions => ["mobile_num = ? ", mobile_num.to_i]) 3.find(:all, :select, :conditions)…
本系列前两部分已经介绍了如何配置Ruby on Rails开发环境,现在终于进入正题啦! Part1.开发前的准备 本次的主要任务是开发第一个Rails程序.需要特别指出的是,本次我选用了一个(PaaS开发平台),也就是Rails教程中介绍的Cloud 9平台,该平台已经自动为我们作好了环境配置的工作:只要你有一个浏览器就可以使用该云端开发环境.非常的方便快捷!简直赞!平台网址如下:https://c9.io/ Cloud 9开发平台的实质是为每一个注册的开发者在服务器端分配一个Linux虚拟机…
安装就不说了,官网有,但是今天发布了ruby2.3,所以更新一下 进入.rbenv目录,执行git pull 更新,但是更新了rbenv,执行rbenv install -l 并没有最新的2.3.0 release版本. 然后我观察ruby-build插件的git仓库,有2.3代码.怀疑这个也要更新,所以. 进入 .rbenv/plugins/ruby-build目录,执行 git pull 这回再看 rbenv install -l 有了最新的2.3.0 release…
系统需求 首先确定操作系统环境,不建议在 Windows 上面搞,所以你需要用: Mac OS X 任意 Linux 发行版本 配置系统包 $ sudo apt-get install -y build-essential openssl curl libcurl4-openssl-dev libreadline6 libreadline6-dev git zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev autoc…
阅读本文不需要预先掌握 Ruby 与 DSL 相关的知识 何为 DSL DSL(Domain Specific Language) 翻译成中文就是:"领域特定语言".首先,从定义就可以看出,DSL 也是一种编程语言,只不过它主要是用来处理某个特定领域的问题. 广为人知的编程语言有 C.Java.PHP 等,他们被称为 GPL(General Purpose Language),即通用目的语言.与这些语言相比,DSL 相对显得比较神秘,他们中的大多数甚至连一个名字都没有.这主要是因为 D…
李哲 - MAY 13, 2015 语言本身 Ruby语言支持语法级别的系统,框架,甚至语言本身的方法复写,一般叫做元编程(meta programming), 此基础之上还有一些术语为mixin,方法的动态定义,运行时类改写等等,这些技术和机制可以让语言本身就能实 现其他语言需要字节码才能实现的功能,例如探针需要hook HttpRequest中的request方法,就可以通过下面的方式实现: class HttpRequest def request_new puts 'before req…
李哲 - APRIL 28, 2015 return,break,next 这几个关键字的使用都涉及到跳出作用域的问题,而他们的不同 则在于不同的关键字跳出去的目的作用域的不同,因为有代码块则导致有一些地方需要格外注意. return 常用方式 通常情况下的return语句和大家理解的意思是相同的. def m1 param if param == 1 return 'returned 1' end 'returned default value'#根据Ruby语言规范,最后一条执行语句的结果将…
简介 stackprof 是基于采样的一个调优工具,采样有什么好处呢?好处就是你可以线上使用,按照内置的算法抓取一部分数据,只影响一小部分性能.它会产生一系列的 dump 文件,然后你在线下分析这些文件,从而定位出问题,google 有一篇基于采样的论文,也基本证明了采样是可行的.而 stackprof 也是深受 google 的 perftools 的影响,采用了采样的方式来做调优. 基本使用方法 StackProf.run(mode: :cpu, out: './stackprof.dump…
转自:http://developer.51cto.com/art/200703/41243.htm 介绍 这是一个短小的Ruby入门,完全读完只需20分钟.这里假设读者已经安装了Ruby,如果你没有安装的话,请在阅读文前访问Ruby官方网站进行下载并安装. 交互式的Ruby 打开IRB(交互式Ruby外壳):如果你使用Mac OS X,那么请打开终端窗口输入irb:如果你使用Linux,那么请打开shell输入irb:如果你使用windows,那么请在开始菜单中找到Ruby->fxri,并执行…
一.比较语句 大部分和其他的语言一样,这里注意<=>. 条件语句 如下几种形式 if if ..else.. end if..elsif..else..end unless(if not) case..when z 注意在ruby中只有nil和false为假. x=1 if x==1 puts 1 elsif x==2 puts 2 else puts 3 end 注意是elsif,不是elseif.与c相比,多了个end. 但Ruby的case语句和C/C++的格式差异很大: case 被判…