2016-09-08 4 views
0

赤いサーバーに接続する際に問題があります。私はインストールしました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]: ? 
> 

と私は考えている理由は...

あなたは対話モードで実行し、またはスクリプト経由している違いがあり
+0

https://github.com/keplerproject/luarocks/wiki/Using-LuaRocksの文書を読んで、LUA_PATHなどが正しく設定されていることを確認しましたか? – nos

+0

コマンドラインインタプリタで 'local'を使わないでください。 – moteus

+0

'local'なしで動作します。私はちょうど '.lua'ファイルを作ろうとしました。そこには' local'で動作します – clzola

答えて

0

。インタラクティブなluaシェルでは、変数/ランタイムlocalがその特定の実行レベルにスコープされます。したがって、

local redis = require 'redis' 

は、そのステートメント行でのみredis変数を提供します。あなたは、同じ文の行でサーバーに接続する必要があるだろう:

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

また、対話モードでは、ちょうどlocalスコープを使用しないでください。

関連する問題