Сложность подключения Lua к серверу redis

У меня проблема с подключением к серверу Redis. Я установил redis-lua (2.0.4-1) и luasocket (3.0rc1-2), используя luarocks. Я только что побежал luarocks install redis-lua, Когда я звоню redis.connect Я получаю ошибку:

Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> local redis = require 'redis'
> local client = redis.connect('127.0.0.1', 6379)
stdin:1: attempt to index global 'redis' (a nil value)
stack traceback:
        stdin:1: in main chunk
        [C]: ?
>

И я понятия не имею, почему...

1 ответ

Решение

Есть разница, когда вы выполняете в интерактивном режиме или через скрипт. Когда в интерактивной оболочке lua, ваш local переменные / время выполнения ограничены этим конкретным уровнем исполнения. Вот почему

local redis = require 'redis'

предоставит вам redis переменная только в этой строке заявления. Вы должны были бы соединиться с сервером в той же строке заявления:

> local redis = require 'redis'; local client = redis.connect('127.0.0.1', 6379); -- so other statements

В качестве альтернативы, в интерактивном режиме, просто не используйте local объем.

Другие вопросы по тегам