- 浏览: 47581 次
- 性别:
- 来自: 上海
最新评论
-
piecehealth:
kljjack 写道如果两个人的战斗力差等于两组的战斗力和差, ...
Dota分组算法 -
kljjack:
如果两个人的战斗力差等于两组的战斗力和差,互换两人,总战斗力怎 ...
Dota分组算法 -
piecehealth:
liyu212 写道第三种:不同数据源之间的比较:如另外的一个 ...
数据比较小程序(Ruby) -
liyu212:
第三种:不同数据源之间的比较:如另外的一个表跟上面的表比较。楼 ...
数据比较小程序(Ruby) -
nbkhic:
rails installer不错的。
Windows下使用Cygwin装各种Ruby gems。
文章列表
今天稍微搜了一下很少有讲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,可是我 ...
今天培训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元编程的技巧根据二维表格式自动创建 ...