`
piecehealth
  • 浏览: 46522 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
今天稍微搜了一下很少有讲define_method跟def的中文文章,英文的也没有讲得很明白的,今天就斗胆把我的理解跟大家分享一下。 入门级别: class Foo def initialize x @x = x end end class Bar define_method :initialize do |x| @x = x end ...
今天群里的同学说要写一个dota分组算法,即有一个数组,数组里面的元素是他各个同事的战斗力,问有没有什么算法能将他们按战斗力尽可能的分成两组。开始我没有很好地想法,想dota最多十个人,用枚举也不会太久,不过后 ...
Ruby Warrior是一个用Ruby代码控制一个小人打怪升级刷装备的小游戏,可以帮助小伙伴们了解Ruby 传送门 最近正好有同事想了解一下Ruby,就推荐给他们这个小游戏,同时把我的答案也分享一下,大家可以交流一下更漂亮的写法。 # level 1 class Player def play_turn(warrior) warrior.walk! end end # level 2 class Player def play_turn(warrior) warrior.feel.empty? ? warrior.walk! : wa ...
Windows下使用Ruby最头疼的地方就是很多gem装不上,devkit不是万能的,具体原因请参照http://ruby-china.org/wiki/win32-gem 因为公司的操作系统都是定制的,不能随随便便装一个linux作为主要工作用系统(虽然公司也有定制的linux,可是我 ...

Ruby解24点

今天培训python,讲课老师无意间提及他用python解24点用了48行代码,心中默念:challenge accepted!于是写了一个ruby版本,用了26行~ def calculator number, *factors if factors.size == 1 if number.to_f.round(10) == factors[0].to_f.round(10) return factors[0].to_s else return nil # nil stand for no solution end else factors ...
最近写了一个针对数据仓库ETL的测试框架,baidu google了一下发现还没有非常靠谱的同类型框架或解决方案,就忍不住提前分享一下(其实是因为周五下午不想干活)。 首先分享一下我们过去测试ETL的方法:很简单,就是写两段SQ ...
之所以喜欢ruby,是因为理解ruby后,用ruby解释所有东西都那么自然。比如别的语言创建对象都是Xxx instance = new Xxx(),不要问为什么,就是要这么写。当然Ruby创建对象是instance = Xxx.new,但是这里,我们可以用ruby的commonsense来解释。 Xxx.new可以看成Xxx执行了一个类方法:new,运行以下代码便知。 class Test def self.new *args, &blk puts *args.join(',') end def initialize a, b, c puts &q ...
突然想起rails有before_filter,想了一下怎么实现(看源码太费劲,机器上也没rails),就动手试了一下。 简单介绍一下before_filter: 比如以下代码: class Person before :bef after :aft def initialize name @name = name end def make_new_friend puts "Nice to see you" end def introduce_self puts "Bla Bla Bla ...
最近帮别人写了一个XML的比较的小程序,分享一下 module XMLTool class Node attr_reader :nodes, :name, :text, :attributes def initialize name, text, attributes = {}, ancestor_nodes = [] @name = name @attributes = attributes @text = text @ancestor_nodes = ancestor_nodes.clone @nodes || ...
如果感谢大家能看到第四篇…… 为了答谢各位新老客户,所以本店将赠送大家装X名字一枚:metaclass(我认为面试ruby的话能说出metaclass跟扁平作用域就能说明你对ruby有一定层次的理解了。) 不过首先呢,我们要知道什么是eigenc ...
创建类方法 上回我们动态创建了initialize方法,其他实例方法跟initialize如出一辙,就不介绍了,今天我们要面临的是如何创建类方法。 不过为了剧情需要,先把我们刚刚建好initialize的类给填满。 按照第一节的例子,我们来吧 ...
书接上回…… 不过要先打个岔…… 动态语言就是要动起来 Ruby被人说上亿遍是动态语言,所以咱就要动态给你们看 Array.class_eval do def punch_horse_ass puts "Piecehealth is a very tall, rich and handsome man!!!" end def say_truth puts "OK, fine, acutally I'm a diaosi" end end [1, 2, 3].punch_hor ...
不少测试同行都有接触过Ruby,但是如果没有接触过Ruby的元编程是一种比较遗憾的事情。今天与大家分享一个简单的小例子,希望对大家有帮助。 这个例子是如何把一个csv文件映射成一个类,文件中的记录映射成这个类的实例。 ...
此文献给正在被FormatConditions.Add这个方法折磨的人。 当你发现你Add后,实际的公式值与你的Formula1的值不一样的时候,请在此之前加一句Range.Select 即 Range.Select Range.FormatConditions.Add ... 可参考http://topic.csdn.net/u/20120610/01/f78c93f2-af45-4985-a5f9-c925be1d05ce.html?seed=1430368056&r=78851359#r_78851359 希望面临此问题的同学能百度的我的帖子,不用像我一样足足瞎琢磨了了好几小时 ...
做测试的时候经常会遇到数据比较的情况,大部分情况数据的格式都可视为二维表,每次比较内容相同,但是数据每次都不同,所以写了一个小程序来自动化这些比较过程。 思路是通过ruby元编程的技巧根据二维表格式自动创建 ...
Global site tag (gtag.js) - Google Analytics