スマートテレビおすすめ6選 基礎知識と選び方
スマートテレビを初めて選ぶ人向けに、画面、OS、録画、端子、音声操作を整理し、代表6機種を紹介します。
この記事では、Luaモジュールの動作確認用として個人的に良く使っているテストスクリプトのテンプレートを掲載します。 自分以外に使う人はいるのか?もっと良い方法があるんじゃないか?と思いますが、個人的にパッとコピペして使う用で掲載することにしました。
ここでは、簡単な処理を実行するmod.luaと呼ばれるLuaモジュールを例にします。
このmod.luaをテストスクリプト経由で呼び出すことで、入力に対する出力結果を確認します。
それでは、行ってみます。
※この記事は以下の環境で実施した結果を元に作成しています。
例として今回、動作確認をするLuaモジュールは次のmod.luaです。
関数は「hello」とコンソールに表示するmod.greetと入力値xyの加算結果を返すmod.addの2つです。
--mod.lua local mod = {} --helloと表示する mod.greet = function () print("hello") end --xとyの加算結果を返す mod.add = function (x, y) return x + y end return mod
次節では、このモジュールの各関数をテストするスクリプトを掲載します。
テストスクリプトは2つのLuaスクリプトで構成されます。
まず、1つ目のスクリプトは対象モジュールを呼び出すための処理が記述されたものです。
この記事ではmod.luaの動作確認をしたいので、testmod.luaと呼ばれるスクリプトを用意し、その中にmod.luaを
呼び出すためのテスト関数と引数情報を管理しています。
--testmod.lua --modモジュールのテスト関数 function test_greet() local mod = require("mod") mod.greet() end function test_add(args) local mod = require("mod") local x = args[1].value local y = args[2].value local result = mod.add(x, y) return result end --modモジュールをテスト実行するために必要な情報を呼び出し元に提供します function get_mod_list() local test_list = { { title = 'mod.greet', --テスト対象の関数名 desc = 'helloと表示します。', --処理についての説明(任意) func = test_greet --テスト関数の指定 }, { title = 'mod.add', desc = 'XとYの値を加算します。', --mod.addは引数が2つ必要なので、ここで引数用テーブルを記述しています。 args = { { desc = 'xの値 :', --入力時の説明文 value = nil }, { desc = 'yの値 :', value = nil }, }, func = test_add }, } return test_list end
テスト関数は何に対するテストか明確になるように、確認対象の関数名の先頭にプレフィックス「test_」を付けて命名しています。 get_mod_listはmod.luaの関数呼び出しに必要な情報をリストアップしている関数です。メイン処理によって実行されるとテスト関数情報をテーブルとして提供します。
2つ目のスクリプトは、メイン処理部のtest.luaです。
テストスクリプトのエントリポイントとして動作し、ユーザーの入力を受付けて指定モジュールをテスト実行します。
今回の場合、mod.luaのテスト一覧はtestmod.luaのget_mod_listで取得できます。
これによって得られた情報を基にテスト関数を実行します。
--test.lua require("testmod") while true do local list = nil print("[module list]") print("[1]...mod.lua") --テストしたいモジュール番号を選択します io.write("\nselect module no:") local test = io.read() if test == "1" then list = get_mod_list() --elseif test == '2' then 新たにテストしたいモジュールが増えたらリストをここに追加します -- list = get_xxx_list() else break end print("\nfunction list") for idx, val in ipairs(list) do print("["..idx.."]..."..val.title) end --テスト対象の関数番号を選択します io.write("\nselect function no:") local select = io.read() select = tonumber(select) local target_test = list[select] local args = target_test.args if not target_test then break end print(target_test.desc) --テスト対象の関数説明を表示します if args then for i = 1, #args do io.write(args[i].desc) args[i].value = io.read() --テスト対象関数の引数を入力します end end --実行結果を表示します print("\n[Result]----------------------------------------------") io.write(target_test.title..'(') if args then for i = 1, #args do io.write(args[i].value) if args[i+1] then io.write(', ') end end end print(')\n') local result = target_test.func(args) if result then print(result) end print("------------------------------------------------------\n") io.flush() end print("terminate")
コンソール上のユーザー指定によって、テスト対象モジュールの関数を実行することができます。
関数に引数が必要であれば、ユーザーはコンソールから引数の値を入力することができます。
実行結果はコンソールに表示されます。
kamo@kamo:~$ lua test.lua [module list] [1]...mod.lua select module no:1 function list [1]...mod.greet [2]...mod.add select function no:1 helloと表示します。 [Result]---------------------------------------------- mod.greet() hello ------------------------------------------------------ [module list] [1]...mod.lua select module no:1 function list [1]...mod.greet [2]...mod.add select function no:2 XとYの値を加算します。 xの値 :1 yの値 :2 [Result]---------------------------------------------- mod.add(1, 2) 3 ------------------------------------------------------ [module list] [1]...mod.lua select module no: terminate
このテストスクリプトからCGIプログラムが内部実行するLuaモジュールなどを 呼び出して処理結果をコンソールに表示させれば、ある程度の動作理解に繋がります。どんどん モジュールの呼び出し処理を追記していけば、ちょっとしたときに使えるツールになるはずです。
スマートテレビおすすめ6選 基礎知識と選び方
スマートテレビを初めて選ぶ人向けに、画面、OS、録画、端子、音声操作を整理し、代表6機種を紹介します。
信頼性が売り! 大手・老舗PCメーカーが販売するミニPC 5選
ASUS、マウスコンピューター、Lenovo、HP、MSIから、Amazonで購入できるミニPC5機種を紹介します。CPU、メモリ、ストレージ、拡張性、保証、無線LANの有無を用途別に整理します。
【2026年版】タブレットおすすめ10選 iPad・Androidの選び方と用途別比較
iPadとAndroidタブレットから、Apple 4機種とAndroid 6機種を紹介します。画面サイズ、性能、ペンやキーボード、用途別の選び方を整理します。
ハンドヘルドゲーミングPCとは何か? 代表メーカーと製品を紹介
ハンドヘルドゲーミングPCとは何かを整理し、Steam Deck OLED、ROG Xbox Ally X、Lenovo Legion Go、MSI Claw A1Mなど代表的なメーカー と製品
2026年版 スマートウォッチの選び方 iPhone・Android別におすすめモデルを紹介
スマートウォッチを初めて選ぶ人向けに、対応スマホ、健康管理、通知、決済、バッテリー、スポーツ機能の違いを整理し、Amazonで購入しやすい代表製品を紹介します。
OCuLinkとは何か? 小型PCやミニPCの購入前に知っておきたいポイントを整理
OCuLinkとは何かを、小型PCやミニPCの購入を検討している人向けに整理します。USB4やThunderboltとの違い、eGPU用途で気にしたいポイント、製品ページでの確認点をまとめています。