関数を別の関数のパラメータとして渡そうとしています。
高レベル ポップアップ ウィンドウを作成するコードがあります。ポップアップ ウィンドウを新しいテキストで更新するときに、ユーザーがポップアップ ウィンドウをクリックしたときに発生するアクションも更新したいと考えています。たとえば、ポップアップ ウィンドウを初めて更新するときに、新しいテキストでポップアップ ウィンドウを再度表示するようにアクションを変更する場合があります。ユーザーが 2 番目をクリックしたとき
概念を説明するためのサンプルコードを次に示します
function doSomething()
print("this is a sample function")
end
function createPopup()
local popup = display.newRect ... create some display object
function popup:close()
popup.isVisible = false
end
function popup:update(options)
if options.action then
function dg:touch(e)
-- do the action which is passed as options.action
end
end
end
popup:addEventListener("touch",popup)
return popup
end
local mypopup = createPopup()
mypopup:update({action = doSomething()})