otrzymuję wyjątek, gdy przy użyciu Memcached gem Evan tkacki (jak memcached :: Rails.new) -> (http://github.com/fauna/memcached) i zawijających get_multi()Memcached rubygem + błąd argumentem Rlibmemcached z memcache_mget()
ArgumentError: wrong # of arguments(2 for 4)
from /usr/local/lib/ruby/gems/1.8/gems/memcache-auth-1.0.1/lib/memcached/memcached.rb:384:in `memcached_mget'
from /usr/local/lib/ruby/gems/1.8/gems/memcache-auth-1.0.1/lib/memcached/memcached.rb:384:in `get_orig'
from /usr/local/lib/ruby/gems/1.8/gems/memcache-auth-1.0.1/lib/memcached/rails.rb:40:in `get_multi'
zauważyłem, że memcached_get.h definiuje memcached_mget jak:
memcached_return memcached_mget(memcached_st *ptr,
const char * const *keys,
const size_t *key_length,
size_t number_of_keys);
Więc wydaje key_length i number_of_keys brakuje (mój C jest nieco zardzewiały, ale mam przypuszczenia te byłyby wymagane argumenty).
Jednak wygląda na to, powiązanego kodu Ruby (w rails.rb) przechodzi tylko 2 argumenty:
def get_multi(keys, raw=false)
get_orig(keys, !raw)
end
Aktualizacja: Okazuje się, że był to błąd w ruby gem, która teraz została załatana .
Proszę rozważyć dodanie swojej odpowiedzi w sekcji "odpowiedzi" i oznaczenie tego pytania jako rozwiązane. – danlefree