Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby &引用;无形的;redisgem中的实例方法_Ruby_Redis - Fatal编程技术网

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。对于大多数宝石,它们将在一天左右。