Ruby &引用;无形的;redisgem中的实例方法
Ruby &引用;无形的;redisgem中的实例方法,ruby,redis,Ruby,Redis,Redis类上有一些实例方法。它们在源代码中定义并且可以工作。但是它们不会出现在Redis#methodsoutput中 require 'redis' redis = Redis.new # => #<Redis client v3.0.2 for redis://127.0.0.1:6379/0> redis.info['redis_version'] # => "2.6.4" k = 'foo' redis.setbit k, 1, 1 redis.setbit
Redis
类上有一些实例方法。它们在源代码中定义并且可以工作。但是它们不会出现在Redis#methods
output中
require 'redis'
redis = Redis.new # => #<Redis client v3.0.2 for redis://127.0.0.1:6379/0>
redis.info['redis_version'] # => "2.6.4"
k = 'foo'
redis.setbit k, 1, 1
redis.setbit k, 3, 1
redis.setbit k, 11, 1
redis.bitcount k # => 3
redis.methods.grep(/bit/) # => [:setbit, :getbit]
# no bitcount in the methods!
需要“redis”
redis=redis.new#=>#
redis.info['redis_version']#=>“2.6.4”
k='foo'
redis.setbit k,1,1
redis.setbit k,3,1
redis.setbit k,11,1
redis.bitcount k#=>3
redis.methods.grep(/bit/)#=>[:setbit,:getbit]
#方法中没有位计数!
方法定义:
据我所知,bitcount
/bitop
应该出现在方法中。但他们没有。有什么想法吗
我需要将它们列在方法中,以便另一个gem工作(它为redis命令定义代理方法,它从redis#methods
)获得)。发布的gem版本没有明确定义这些方法,您可以通过检查已安装的源代码或redis来确认这一点。方法:位计数
它们之所以有效,是因为方法丢失,只是盲目地将它们传递到redis服务器。为什么不导出方法困惑:我假设这是一个非常古老的功能,它将出现在最新的gem中。事实证明,我的假设是错误的。我会要求他们发布一个新版本的gem。对于大多数宝石,它们将在一天左右。