私が持っていると言う
class A
end
class B < A
end
p B.superclass.superclass.superclass # => BasicObject
.superclass を 3 回呼び出す代わりに、基本的にこのメソッドを x 回呼び出すという繰り返し演算子のようなものを指定できる方法はありますか?
私が持っていると言う
class A
end
class B < A
end
p B.superclass.superclass.superclass # => BasicObject
.superclass を 3 回呼び出す代わりに、基本的にこのメソッドを x 回呼び出すという繰り返し演算子のようなものを指定できる方法はありますか?
私は以下のようにしました:
([:superclass]*3).inject(B,:send)
# => BasicObject
存在するものは何もありません(私が知っていること)。しかし、ここで、私はあなたのためにそれを作りました. :)
class A
end
class B < A
end
class Object
def call_repeatedly(sym, n)
res = self
n.times { res = res.send(sym)}
res
end
end
B.call_repeatedly(:superclass, 3) # => BasicObject