class SortedArray < Array
def initialize(*args,&sort_by)
@sort_by = sort_by || Proc.new { |x,y| x <=> y }
super(*args)
sort! &sort_by
end
end
p SortedArray.new([1,3,2])
sort! &sort_by
为什么 block 参数是&sort_by
而不是&@sort_by
呢?
sort_by 在这里并没有默认值啊,但是居然也可以输出正确的结果!