Ruby 初心者スレッド Part 21 at TECH
[2ch|▼Menu]
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