Ruby 初心者スレッド Part 21
at TECH
64:デフォルトの名無しさん
08/08/09 14:57:34
るびま URLリンク(jp.rubyist.net) の例を使うが、確かに
require 'forwardable'
class MyQueue1
extend Forwardable
def initialize; @q = Array.new; end
def_delegator :@q, :push, :enq
def_delegator :@q, :shift, :deq
def_delegators :@q, :push, :shift, :size
end
class MyQueue2
def initialize; @q = Array.new; end
def push(*e); @q.push(*e); end
def shift(*e); @q.shift(*e); end
def size(*e); @q.size(*e); end
alias :enq :push; alias :deq :shift
end
class MyQueue3 < Array
alias enq push
alias deq shift
end
[MyQueue1.new, MyQueue2.new, MyQueue3.new].each do |q|
q.enq 1, 2, 3, 4, 5
q.push 6
p q.size
end
の3つは、どれも6を表示はするな
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5493日前に更新/211 KB
担当:undef