上一页 1 2 3 4 5 6 ··· 8 下一页

2015年3月12日

rspec+rest-client测试第三方web service

摘要: 如果你手工测试Restful 服务将会是一件非常单调乏味的事情。当然,目前有一些浏览器插件可以通过可视化的界面帮助你手工测试,例如postman、rest console,但是每次系统版本更新,你都需要去手动执行大量的测试,显然这种方式不是非常实用。Ruby拥有许多出色的gem包,你可以使用它们完成... 阅读全文

posted @ 2015-03-12 17:32 tim_sheng 阅读(1035) 评论(0) 推荐(0) 编辑

2014年9月23日

ruby类名之间<,<=方法

摘要: 有时候看源码的时候看到类名之间存在,:<,:<=]e.gmod < other → true, false, or nilReturns true ifmodis a subclass ofother. Returnsnilif there’s no relationship between the... 阅读全文

posted @ 2014-09-23 17:25 tim_sheng 阅读(413) 评论(0) 推荐(0) 编辑

2014年3月16日

解决rspec 生成报告时报utf-8错误的方法

摘要: 找到gems\1.9.1\gems\rspec-core-2.14.3\lib\rspec\core\formatters\snippet_extractor.rb文件中的第27行:在这边记录一下,防止以后再遇到。。。出现这个原因是因为ruby文件用utf-8格式的,但是源码都是GBK处理的,找到\lib\ruby\gems\1.9.1\gems \rspec-core-2.14.3\lib\rspec\core\formatters下面的snippet_extractor.rb文件,把 lines = File.read(file).split("\n")改成lines 阅读全文

posted @ 2014-03-16 18:57 tim_sheng 阅读(319) 评论(0) 推荐(0) 编辑

2013年5月6日

ruby--变量/方法二义性

摘要: 在表达式中,当Ruby看到像a这样的名字时,它需要判断a是一个局部变量引用还是对没有参数的方法a的调用。Ruby使用一种启发式的方法来判断这种情况。当Ruby解析源代码文件时,它会记录所有已经被赋值的符号。它认为这些符号是变量。以后当遇到一个既可以是变量又可以是方法调用的符号时,Ruby会检查是否已经对该符号进行了赋值。如果是,那么把该符号当作变量,否则当作方法调用。下面是描述这种情况的一个人为设计的例子。def a print "Funciton 'a' called\n" 99endfor i in 1..2 if i ==2 print "a 阅读全文

posted @ 2013-05-06 21:25 tim_sheng 阅读(273) 评论(0) 推荐(0) 编辑

2013年4月13日

ruby--$:.unshift File.expand_path('..', __FILE__)

摘要: 一直能看到一些gem里面会有这样一句代码:$:.unshift File.expand_path('..', __FILE__)这句话是干什么用的呢$:就是ruby的一个全局变量,也叫$LOAD_PATH,功能就是java中的classpath,用来加载类库的,当你require某个文件时,ruby就会从这个变量的值去查找,找不到会报LoadError。这个值其实就是一个包含了类库绝对路径的数组。__FILE__这个变量代表文件自己的文件名,在foo.rb中puts__FILE__,结果就是foo.rb。File.expand_path可以把路径转换成绝对路径,假设有这样一个文 阅读全文

posted @ 2013-04-13 11:38 tim_sheng 阅读(3192) 评论(0) 推荐(1) 编辑

2013年4月8日

ruby--require引用文件路径方法与问题总结

摘要: 同一目录下的文件,如/usr/local/ruby/foo.rb与/usr/local/ruby/bar.rb两个文件。如果直接在foo.rb中require 'bar'执行时会报找不到bar.rb错误。这是因为运行/home/oldsong$ ruby /usr/local/ruby/foo.rb时会在ruby安装的lib目录和/home/oldsong/目录下查找bar.rb。而不会去rb文件的目录/usr/local/ruby/下查找。所以除引用系统rb外,require中不能用相对路径。下面结合我个人经验介绍几种引用单个和目录下所有rb的方法。1、引用一个文件例: 引用 阅读全文

posted @ 2013-04-08 11:28 tim_sheng 阅读(8206) 评论(0) 推荐(0) 编辑

2013年3月28日

ruby--循环

摘要: 当使用while和until做语句修饰符时,有一点需要注意:如果被修饰的语句时一个begin/end块,那么不管布尔表达式的值是什么,块内的代码至少会执行一次。print "Hello\n" while falsebegin print "Goodbye\n"end while false 输出结果:Goodbye 阅读全文

posted @ 2013-03-28 18:31 tim_sheng 阅读(218) 评论(0) 推荐(0) 编辑

2013年3月25日

ruby--赋值

摘要: 在老版本的Ruby中,赋值语句的返回值是设置该属性的方法的返回值。在Ruby1.8中,赋值语句的值总是参数的值而方法的返回值将被丢掉。class Test def val=(val) @val = val return 99 end endt = Test.newa = t.val=2a ->2 在老版本中,a将被赋值语句设置为99,而在Ruby1.8中,它的值为2.Ruby的赋值实际是以并行方式执行的,所以赋值语句右边的值不受赋值语句本身的影响。在左边的任意一个变量或者属性被赋值之前,右边的值按它们出现... 阅读全文

posted @ 2013-03-25 18:10 tim_sheng 阅读(2045) 评论(0) 推荐(0) 编辑

2013年3月22日

ruby--调用方法

摘要: def meth_three 100.times do |num| square = num*num return num, square if square>1000 end endmeth_three ->[32,1024]这种方法显示,如果你给return多个参数,方法会将它们以数组的形式返回。你可以使用并行赋值来收集返回值。 当你调用一个方法时,你可以分解一个数组,这样每个成员都被视为单独的参数。在数组参数(必须在所有普通参数的后面)前加一个星号可以完成这一点。 阅读全文

posted @ 2013-03-22 18:43 tim_sheng 阅读(352) 评论(0) 推荐(0) 编辑

ruby--定义一个方法

摘要: def aaa############endruby的方法体内是普通的Ruby表达式,你不能在方法体内定义非单件类或模块。如果你在一个方法内定义另一个方法,内部的方法只有在外部方法执行时才得到定义。方法的返回值是执行的最后一个表达式的值,或者return表达式显示返回的值如果你希望传入可变个数的参数、或者想用一个形参接收多个参数,在"普通"的参数名前放置一个星号(*)即可。def varargs(arg1,*rest) "Got #{arg1} and #{rest.join(',')}"endvarargs("one" 阅读全文

posted @ 2013-03-22 14:59 tim_sheng 阅读(1272) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 8 下一页

导航