Luaridaの機能・システム編 (3)
システムで残ったのは文字入力です。実は文字入力はダイアログに入れてもいいのですが、分類的にシステム側にしました。
------------------------------------------ --文字入力 ------------------------------------------ --関数宣言-------------------------------- main={} --mainメソッド --グローバル変数宣言---------------------- ------------------------------------------ mt={} mt.__newindex=function(mtt,mtn,mtv) dialog( "Error Message", "宣言していない変数 "..mtn.." に値を入れようとしています", 0 ) touch(3) end mt.__index=function(mtt,mtn) dialog( "Error Message", "変数 "..mtn.." は宣言されていません", 0 ) touch(3) end setmetatable(_G,mt) --------以下が実プログラム---------------- ------------------------------------------ --メインプログラム ------------------------------------------ function main() local moji local a canvas.drawCls( color(255,255,255) ) moji,a = editText("文字を入力してください") if( a==1 )then dialog( "入力した文字", moji,1 ) else dialog( "入力した文字", "文字入力はキャンセルされました",1 ) end canvas.drawText( "画面タッチで終了します", 80,100, 32, color(0,0,0) ) touch(3) end main()
editText()
editText()を用いて、文字を入力することができます。1番目の戻り値が入力された文字です。2番目の戻り値がOKを押したかCancelを押したかの状態を持っています。
Lua言語は、関数の戻り値を複数持つことができます。戻り値の数だけ、変数をカンマでつなげて書けば、それぞれ代入されます。省略した場合、後ろの戻り値が無視されます。
簡単ですが、これでシステム関連機能の説明を終わります。