コンピュータを楽しもう!!

今、自分が面白くていろいろやってみたことを書き綴りたいと思います。連絡先はtarosa.yでgmail.comです。

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言語は、関数の戻り値を複数持つことができます。戻り値の数だけ、変数をカンマでつなげて書けば、それぞれ代入されます。省略した場合、後ろの戻り値が無視されます。
簡単ですが、これでシステム関連機能の説明を終わります。