2012-06-04 3 views
-3

Я не знаю рубина, но знаю питона. Что такое эквивалент python для запуска кода ниже? Этот пример был взят с веб-сайта redis. Так что же это?Redis lua scripting - Что такое эквивалент python сценария lua, написанный на Ruby?

<<EOF? 

было бы в питоне:

RandomPushScript = """ 
    Lua code here 
    """ 


RandomPushScript = <<EOF 
    local i = tonumber(ARGV[1]) 
    local res 
    math.randomseed(tonumber(ARGV[2])) 
    while (i > 0) do 
     res = redis.call('lpush',KEYS[1],math.random()) 
     i = i-1 
    end 
    return res 
EOF 

r.del(:mylist) 
puts r.eval(RandomPushScript,1,:mylist,10,rand(2**32)) 
+2

[Stack Overflow не является услугой перевода кода] (http://meta.stackexchange.com/a/129362/164572) –

+0

Извините, «сценарий Lua, написанный на Ruby» ?? Lua и Ruby - разные языки, а Python - еще третья. –

+0

@ DanielRoseman Как видно выше, это скрипт Ruby, который, как представляется, создает Lua-скрипт как большую строку, а затем делает что-то с ним. – Phrogz

ответ

3

<< указывает на Heredoc. После этого есть маркер (здесь EOF). Следующие строки являются строкой, пока маркер не появится снова. Итак, да, """ будет эквивалентом Python.

+0

Для python dudes .... вот пример, найденный после того, как я разместил эти вопросы. http://iam.richardbucker.com/2012/01/18/redis-eval-in-2-6-0/ – Tampa

Смежные вопросы