モジュール: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)