私はSublimeとCoronaを使ってLuaプログラムを作成しようとしています。 Webページを取得し、パターンを使用してページから特定のテキストを抽出し、抽出したテキストを表に保存したいと考えています。私はコロナが提供するnetwork.requestメソッドを使用しています変数はnetwork.request -Luaのevent.responseを保存しません
問題:抽出したテキストが、作成したグローバル変数に保存されていません。私がそれを参照しようとするか、関数の外側でそれを印刷しようとすると、それはnilを返します。これがなぜ起こっているのか?
私はevent.response出力のスクリーンショットを添付しました。これは私がここに私のLuaのテーブルに
を保存する欲しいものであることは私のコードです:
local restaurants = {}
yelpString = ""
--this method tells the program what to do once the website is retrieved
local function networkListener(event)
if (event.isError) then
print("Network error: ", event.response)
else
yelpString = event.response
--loops through the website to find the pattern that extracts
restaurant names and prints it out
for i in string.gmatch(yelpString, "<span >(.-)<") do
table.insert(restaurants, i)
print(i)
end
end
end
-- retrieves the website
network.request("https://www.yelp.com/search?
cflt=restaurants&find_loc=Cleveland%2C+OH%2C+US", "GET", networkListener)
networkListenerが呼び出されていることを確認しましたか?それらのテキストを関数の外でどのように印刷するかを示してください...あなたは何を参照しようとしていますか?レストラン、またはそのフィールドの1つ?レストランはグローバルbtwではありません... – Piglet