自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

One line Ruby code

经常使用perl来代替一行的sed awk,主要是想使用perl更强大的正则:[code="shell"]echo "Hello 123 world" | perl -ne 's/\s+\d+\s+/,/g;print'[/code]ruby也提供了和perl一样强大的一行代码功能:[quote]$ruby --help -a autospl...

2010-12-31 23:03:24 114

原创 函数对象作为case语句中的条件

Ruby 1.9的Proc#===作为call的一个别名,所以函数对象可以作为case语句中的条件[code="ruby"]def multiple_of(factor) lambda{|num| num % factor == 0}end#or#def multiple_of(factor)# proc{|num| num % factor == 0}...

2010-12-31 22:28:26 119

原创 从hash快速生成URL参数

[code="ruby"]key_values = { :key1 => "value1", :key2 => "value2"}key_values.map{|entry| entry * '='} * '&' #key1=value1&key2=value2[/code]

2010-12-31 21:03:54 703

生成长度为n的随机字符串

包含数字和小写字母的随机串[code="ruby"]def gen_random_str(len) rand(36 ** n).to_s(36)endgen_random_str(6) #bv0oan[/code]包含数字和大小写字母的随机串[code="ruby"]def gen_rand_str(len) rand_indxes = (0...l...

2010-12-31 20:50:04 727

原创 Returning

我们经常做的事情是创建一个对象,操作这个对象,然后返回这个对象:[code="ruby"]def build_options options = Hash.new options[:key1] = 'value1' options[:key2] = 'value2' options end[/code]Rails提供了returning,使用ruby最常...

2010-12-31 20:34:26 408

原创 Ruby复合函数

复合函数的意思就是:有函数:f(x)=x + 1;g(x)=x * x则g(f(x)) = (x + 1) * (x + 1)我们给Ruby的打开Proc类:[code="ruby"]class Proc def self.compose(f, g) lambda { |*args| f[g[*args]] } end def *(g) ...

2010-12-29 00:14:17 103

C++继承访问控制

C++允许在派生类对继承的方法访问控制重新定义,可以放松或者添加更严格的限制。这点和Java是不同的,Java不能对继承过来的成员添加更严格的限制,因为这样会"违反Liskov替换原则"。而C++的多态是依赖于指针和引用的(当然Java也是reference),而指针或者引用编译时的访问权限检查是检查指针或引用类型的,所以C++采取了一种看似不够直观的设计:使用基类指针和引用访...

2010-12-19 15:37:59 96

原创 基于消息的架构

各个模块或系统基于消息彼此联系起来,这种异步的通讯方式能够应用以一种松耦合的方式组合起来,并且让这种通讯更加可靠,因为两个系统可以不是同时运行的,但消息以一种可存储的方式存储。消息组建负责将数据从一个应用传递到另一个应用,所以应用程序可以只关注它要共享的数据,而不是如何去共享。基本概念:消息包含了一些基本的概念,只有理解了这些细节才能知道如何去使用。通道(Channel):基于...

2010-12-16 00:10:45 220

Ruby Metaprogramming的一次公司分享活动

主要介绍了Ruby Metaprogramming的机制和方法。主要包括:IntrospectionDynamic dispatch/Dynamic methodGhost MethodRuby Alias and AOPObject/Class ExtensionEval/Class Eval/Instance Eval/Module EvalRuby Object ...

2010-12-12 12:11:41 92

原创 [zz]linux 常用命令总结:

linux 常用命令总结: 一。 通用命令: 1. date :print or set the system date and time 2. stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等) 3. passwd: print or set the system date and time (用passwd -h查看) 4. log...

2010-12-11 21:30:27 103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除