Lua

LuaからNScripterのネイティブ命令を簡単に実行する。

exec.lua Lua側から、NScripterのネイティブ命令を簡単に実行、その結果も取得できるようにしたライブラリ。 Exと言うグローバル変数を導入し、それに命令名を追加することでネイティブ命令を実行する。 exec.lua -- exec.lua -- Lua側から、NScripterのネイ…

luasubによって定義された命令の引数を簡単に取得する

argument.lua -- argument.lua -- luasubによってNScripter側から呼び出された後、lua側でその引数を簡単に取得できる専用の関数を作る関数。 do local method_list = {} method_list.int = NSPopInt method_list.str = NSPopStr method_list.intref = NSPop…

luasubを簡単に定義する。

luasub.lua -- luasub.lua do local mt = {} -- 呼び出された時の処理 mt.__index = function(t, k) return _G["NSCOM_"..k] end -- 代入時の処理 mt.__newindex = function(t, k, v) local com_name = "NSCOM_"..k if _G[com_name] then NSOkBox(k.."を二度…

LuaからNScripterのネイティブ命令を簡単に実行する。

exec.lua Lua側から、NScripterのネイティブ命令を簡単に実行、その結果も取得できるようにしたライブラリ。 Exと言うグローバル変数を導入し、それに命令名を追加することでネイティブ命令を実行する。 exec.lua -- exec.lua -- Lua側から、NScripterのネイ…

luasubによって定義された命令の引数を簡単に取得する

argument.lua -- argument.lua -- luasubによってNScripter側から呼び出された後、lua側でその引数を簡単に取得できる専用の関数を作る関数。 do local method_list = {} method_list.int = NSPopInt method_list.str = NSPopStr method_list.intref = NSPop…

luasubを簡単に定義する。

luasub.lua -- luasub.lua do local mt = {} -- 呼び出された時の処理 mt.__index = function(t, k) return _G["NSCOM_"..k] end -- 代入時の処理 mt.__newindex = function(t, k, v) local com_name = "NSCOM_"..k if _G[com_name] then NSOkBox(k.."を二度…

luasubを簡単に定義する。

luasub.lua -- luasub.lua do local mt = {} -- 呼び出された時の処理 mt.__index = function(t, k) return _G["NSCOM_"..k] end -- 代入時の処理 mt.__newindex = function(t, k, v) local com_name = "NSCOM_"..k if _G[com_name] then NSOkBox(k.."を二度…

luasubによって定義された命令の引数を簡単に取得する

argument.lua -- argument.lua -- luasubによってNScripter側から呼び出された後、lua側でその引数を簡単に取得できる専用の関数を作る関数。 do local method_list = {} method_list.int = NSPopInt method_list.str = NSPopStr method_list.intref = NSPop…

LuaからNScripterのネイティブ命令を簡単に実行する。

exec.lua Lua側から、NScripterのネイティブ命令を簡単に実行、その結果も取得できるようにしたライブラリ。 Exと言うグローバル変数を導入し、それに命令名を追加することでネイティブ命令を実行する。 exec.lua -- exec.lua -- Lua側から、NScripterのネイ…

Luaの側から、NScripter側で定義したnumaliasを簡単に取得する。

numalias.lua --numalias.lua do -- 実際の保存領域 local numalias = {} -- 退避領域の定義 local stack = 0 -- メタテーブルの定義 local mt = {} mt.__index = function(t, k) k = k:lower() if type(numalias[k])=="nil" then stack = NSGetIntValue(0) …

Luaの側から、NScripter側で定義したstraliasを簡単に取得する。

Luaの側から、NScripter側で定義したnumaliasを簡単に取得する。 - 永字八法のstralias版 stralias.lua --stralias.lua do -- 実際の保存領域 local stralias = {} -- 退避領域の定義 local stack = 0 -- メタテーブルの定義 local mt = {} mt.__index = fun…

Luaの側から、NScripter側の変数を操作・取得する

variable.lua -- variable.lua do -- 依存関係処理 -- numalias.luaが必要。 NL_dofile_verify("m_lib\\numalias.lua") -- メタテーブル local mt = {} -- 呼び出された時の動作定義 mt.__index = function(t, k) if type(k)=="number" then return NSGetInt…

Luaの関数に動作を追加する。

_G環境、つまりどこからでも参照することのできるLuaの関数に、動作を追加したり、別の動作に差し替えたりする命令を追加します。 trigger.lua -- trigger.lua -- luaの関数の前後に、イベントを設定する。 -- または、luaの関数を外見はそのままに中身をそ…

Luaの側から、NScripter側で定義したnumaliasを簡単に取得する。

numalias.lua --numalias.lua do -- 実際の保存領域 local numalias = {} -- 退避領域の定義 local stack = 0 -- メタテーブルの定義 local mt = {} mt.__index = function(t, k) k = k:lower() if type(numalias[k])=="nil" then stack = NSGetIntValue(0) …

Luaの側から、NScripter側で定義したstraliasを簡単に取得する。

Luaの側から、NScripter側で定義したnumaliasを簡単に取得する。 - 永字八法のstralias版 stralias.lua --stralias.lua do -- 実際の保存領域 local stralias = {} -- 退避領域の定義 local stack = 0 -- メタテーブルの定義 local mt = {} mt.__index = fun…

Luaの側から、NScripter側の変数を操作・取得する

variable.lua -- variable.lua do -- 依存関係処理 -- numalias.luaが必要。 NL_dofile_verify("m_lib\\numalias.lua") -- メタテーブル local mt = {} -- 呼び出された時の動作定義 mt.__index = function(t, k) if type(k)=="number" then return NSGetInt…

Luaの関数に動作を追加する。

_G環境、つまりどこからでも参照することのできるLuaの関数に、動作を追加したり、別の動作に差し替えたりする命令を追加します。 trigger.lua -- trigger.lua -- luaの関数の前後に、イベントを設定する。 -- または、luaの関数を外見はそのままに中身をそ…

Luaの関数に動作を追加する。

_G環境、つまりどこからでも参照することのできるLuaの関数に、動作を追加したり、別の動作に差し替えたりする命令を追加します。 trigger.lua -- trigger.lua -- luaの関数の前後に、イベントを設定する。 -- または、luaの関数を外見はそのままに中身をそ…

Luaの側から、NScripter側の変数を操作・取得する

variable.lua -- variable.lua do -- 依存関係処理 -- numalias.luaが必要。 NL_dofile_verify("m_lib\\numalias.lua") -- メタテーブル local mt = {} -- 呼び出された時の動作定義 mt.__index = function(t, k) if type(k)=="number" then return NSGetInt…

Luaの側から、NScripter側で定義したstraliasを簡単に取得する。

Luaの側から、NScripter側で定義したnumaliasを簡単に取得する。 - 永字八法のstralias版 stralias.lua --stralias.lua do -- 実際の保存領域 local stralias = {} -- 退避領域の定義 local stack = 0 -- メタテーブルの定義 local mt = {} mt.__index = fun…

Luaの側から、NScripter側で定義したnumaliasを簡単に取得する。

numalias.lua --numalias.lua do -- 実際の保存領域 local numalias = {} -- 退避領域の定義 local stack = 0 -- メタテーブルの定義 local mt = {} mt.__index = function(t, k) k = k:lower() if type(numalias[k])=="nil" then stack = NSGetIntValue(0) …

NL_dofileの仕様確認

NL_dofileについて調べてみた。 疑問1:NL_dofileに複数の引数を与えたらどうなるか。 system.lua NL_dofile("sample1.lua", "sample2.lua") sample1.lua --sample1.lua do NSOkBox("sample1", "通った!") end sample2.lua --sample2.lua do NSOkBox("samp…

NL_dofile_verifyを提案

NL_dofileの仕様確認 - 永字八法のテスト結果を踏まえて。 ライブラリ目的でNL_dofileを使用する場合、同じファイルを二度読み込むのは何が起こるかわからない危険な行為である。また、速度にも若干の影響が出るだろう。 そこで、一度読んだ物はパスする仕組…

NL_dofileの仕様確認

NL_dofileについて調べてみた。 疑問1:NL_dofileに複数の引数を与えたらどうなるか。 system.lua NL_dofile("sample1.lua", "sample2.lua") sample1.lua --sample1.lua do NSOkBox("sample1", "通った!") end sample2.lua --sample2.lua do NSOkBox("samp…

NL_dofile_verifyを提案

NL_dofileの仕様確認 - 永字八法のテスト結果を踏まえて。 ライブラリ目的でNL_dofileを使用する場合、同じファイルを二度読み込むのは何が起こるかわからない危険な行為である。また、速度にも若干の影響が出るだろう。 そこで、一度読んだ物はパスする仕組…

NL_dofile_verifyを提案

NL_dofileの仕様確認 - 永字八法のテスト結果を踏まえて。 ライブラリ目的でNL_dofileを使用する場合、同じファイルを二度読み込むのは何が起こるかわからない危険な行為である。また、速度にも若干の影響が出るだろう。 そこで、一度読んだ物はパスする仕組…

NL_dofileの仕様確認

NL_dofileについて調べてみた。 疑問1:NL_dofileに複数の引数を与えたらどうなるか。 system.lua NL_dofile("sample1.lua", "sample2.lua") sample1.lua --sample1.lua do NSOkBox("sample1", "通った!") end sample2.lua --sample2.lua do NSOkBox("samp…

竹内関数/たらい関数

Lua

function tarai(x, y, z) if x > y then return tarai( tarai(x-1, y, z), tarai(y-1, z, x), tarai(z-1, x, y) ) else return y end end

竹内関数/たらい関数

Lua

function tarai(x, y, z) if x > y then return tarai( tarai(x-1, y, z), tarai(y-1, z, x), tarai(z-1, x, y) ) else return y end end

竹内関数/たらい関数

Lua

function tarai(x, y, z) if x > y then return tarai( tarai(x-1, y, z), tarai(y-1, z, x), tarai(z-1, x, y) ) else return y end end