モジュール:Subeana

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
ナビゲーションに移動 検索に移動

この説明文は 『 モジュール:Subeana/doc 』 から呼び出されています。
{{Subeana}}の内部モジュール。

local p = {} -- 最初に設定するテーブルブロックです。

function p.subeana( frame ) -- function関数で設定するブロックです。

	-- 変数の初期化
	local yajusenpai = ""
	
	-- 判定用の固定文字列
	local ikisugi = frame.args[1] -- または対象となる文字列
	local size = frame.args[2]
	local yarimasune = frame.args[3] -- 判定基準となる文字セット

	-- ループ処理(「ブッチッパの長さ」回繰り返す)
	-- ※Scratchの仕様に合わせて、ブッチッパ(インデックス)を1ずつ増やしながら処理します
	-- mw.ustring.len で文字数を正しく取得
	local len = mw.ustring.len(ikisugi)

	for i = 1, len, 1 do
    
		-- mw.ustring.sub で1文字(マルチバイト対応)を切り出し
		local target_char = mw.ustring.sub(ikisugi, i, i)
		
		-- mw.ustring.find で日本語の判定
		if mw.ustring.find(yarimasune, target_char, 1, true) then
			yajusenpai = yajusenpai .. "<span style=\"font-size:" .. size .."\">" .. target_char .. "</span>"
		else
			yajusenpai = yajusenpai .. target_char
		end
	end

    return yajusenpai -- これがこのmain (frame )関数の実行結果です。
end -- p.main関数の終了を示します。

return p -- このreturnでテーブルp(内部関数を内包)の内容を全て戻すことになります。

-- このモジュールの半分以上は私がScratchでコードを作った後、Google Geminiを利用してLuaに翻訳してもらいました。(署名 Meowchawa)