使用Ruby创建可变长参数的方法

在整理我以前写的Class时,发现有一些不太好的地方,因为构造函数的参数不同,所以我准备了另一个Class来进行相应的处理。为了解决这个问题,最近我开始使用可变参数来进行整合。

1. 内容

例:
只需要进行值的设置/获取操作的类,在Memcache操作中是必要的。

class MemCacheR

    include Singleton
    attr_accessor :x, :y, :z

    def initialize(*args)
        @x, @y, @z = args
    end

    def mem_get(*args)
       x = args[0]
       y = args[1]
       cache = MemCache.new('127.0.0.1:11211')
       cache.get(x+y)
    end

    def mem_set(*args)
      x = args[0]
      y = args[1]
      z = args[2]
      z ||= 0
      cache = MemCache.new('127.0.0.1:11211')
      cache[x+y]= z
    end
end

利用X和Y生成密钥,Z为值。

确认

MemCacheR.instance.mem_set("hogehoge", "1111111", 500000)
a =  MemCacheR.instance.mem_get("hogehoge", "1111111")
p a
500000

只要能够取得就可以了。