<header><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"><meta name="hibp-verify" content="dweb_ahmm7tzpovjk0hkhflm8wqvu" />

<!--[if IE]>
<meta http-equiv="Refresh" content="0; URL=http://noie.ksepeses.com/">
<!--<![endif]-->
    <script charset="UTF-8" id="LA_COLLECT" src="//sdk.51.la/js-sdk-pro.min.js?id=3N8xzwWYGoxEeDm5&ck=3N8xzwWYGoxEeDm5"></script>
<link rel="icon" type="image/x-icon" href="./favicon-16.ico" sizes="16x16">
<link rel="icon" type="image/png" href="./zyom.png" sizes="512x512">
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="./favicon.ico" type="image/x-icon">
<meta name="Keywords" content="扩科偶梦,知沅考试,偶像梦幻祭,知沅偶梦,扩展科目偶像梦幻祭,知沅教育,知沅教育出版社,扩展科目">
<meta name="Description" Content="我们的梦想永不终结！欢迎来到知沅教育出版社扩展科目偶像梦幻祭课程教材教学研究所官网~(〃'▽'〃)(〃'▽'〃)">
<meta name="msvalidate.01" content="F6FE2D5F15A458308AEA9CA31A96263F" />
<meta name="baidu-site-verification" content="codeva-9r28d9psyW" />

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2824368906056698"
     crossorigin="anonymous"></script>
</header>
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://m.ksepeses.com/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3ARainbow</id>
	<title>模块:Rainbow - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://m.ksepeses.com/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3ARainbow"/>
	<link rel="alternate" type="text/html" href="https://m.ksepeses.com/index.php?title=%E6%A8%A1%E5%9D%97:Rainbow&amp;action=history"/>
	<updated>2026-04-10T10:23:27Z</updated>
	<subtitle>本wiki的该页面的版本历史</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>https://m.ksepeses.com/index.php?title=%E6%A8%A1%E5%9D%97:Rainbow&amp;diff=266&amp;oldid=prev</id>
		<title>鹤訓：建立内容为“local module = {}  local getArgs = require('Module:Arguments').getArgs  function module._main(colors, material)     local rubySave = {}     material = mw.ustring.…”的新页面</title>
		<link rel="alternate" type="text/html" href="https://m.ksepeses.com/index.php?title=%E6%A8%A1%E5%9D%97:Rainbow&amp;diff=266&amp;oldid=prev"/>
		<updated>2024-10-27T05:23:48Z</updated>

		<summary type="html">&lt;p&gt;建立内容为“local module = {}  local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs  function module._main(colors, material)     local rubySave = {}     material = mw.ustring.…”的新页面&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local module = {}&lt;br /&gt;
&lt;br /&gt;
local getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
&lt;br /&gt;
function module._main(colors, material)&lt;br /&gt;
    local rubySave = {}&lt;br /&gt;
    material = mw.ustring.gsub(material, '(&amp;lt;ruby[^&amp;gt;]*&amp;gt;.-&amp;lt;/ruby&amp;gt;)', function(str)&lt;br /&gt;
        rubySave[#rubySave + 1] = str&lt;br /&gt;
        return 'Ÿ'&lt;br /&gt;
    end)&lt;br /&gt;
    &lt;br /&gt;
    local htmlEscapeSave = {}&lt;br /&gt;
    local htmlEscapeSaveFunc = function(str)&lt;br /&gt;
        htmlEscapeSave[#htmlEscapeSave + 1] = str&lt;br /&gt;
        return 'Æ'&lt;br /&gt;
    end&lt;br /&gt;
    material = mw.ustring.gsub(material, '&amp;amp;#%d+;', htmlEscapeSaveFunc)&lt;br /&gt;
    material = mw.ustring.gsub(material, '&amp;amp;[A-Za-z]+;', htmlEscapeSaveFunc)&lt;br /&gt;
    &lt;br /&gt;
    function lang(ptns)&lt;br /&gt;
        for i, v in ipairs(ptns) do&lt;br /&gt;
            material = mw.ustring.gsub(material, '(.*%-{)ῧ?(.-)(;?%s-'..v..':)(.-}%-)', function(str0, str1, str2, str3)&lt;br /&gt;
                -- 使用ῧ指示保持当前颜色&lt;br /&gt;
                -- 使用Ῥ指示这是下一个语言变种的开始，读取颜色&lt;br /&gt;
                return str0..'ῧ'..str1..mw.ustring.gsub(str2, '(.)', '‡%1')..'Ῥ'..str3&lt;br /&gt;
            end)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    lang({&lt;br /&gt;
        'zh%-hans', 'zh%-hant', 'zh%-cn', 'zh%-tw', 'zh%-hk', 'zh%-sg', 'zh%-mo', 'zh%-my', 'zh'&lt;br /&gt;
    })&lt;br /&gt;
&lt;br /&gt;
    function flee(ptns)&lt;br /&gt;
        for i, v in ipairs(ptns) do&lt;br /&gt;
            material = mw.ustring.gsub(material, '('..v..')', function(str)&lt;br /&gt;
                return mw.ustring.gsub(str, '(.)', '‡%1')&lt;br /&gt;
            end)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    flee({&lt;br /&gt;
        -- html标签或mw的标记应当视为一个整体，不单独变色&lt;br /&gt;
        '&amp;lt;.-&amp;gt;', '%-{', '}%-', '\'\&amp;quot;\`UNIQ%-.-%-QINU\`\&amp;quot;\''&lt;br /&gt;
    })&lt;br /&gt;
&lt;br /&gt;
    local flag = 1            -- 变色计数&lt;br /&gt;
    local ZhConverter_old_flag = 1    -- 字词转换中上一个语言变种的flag&lt;br /&gt;
    local ruby = 1            -- ruby计数&lt;br /&gt;
    local htmlEscape = 1      -- HTML转义字符计数&lt;br /&gt;
    local mark = false        -- 标签跳过&lt;br /&gt;
    local rainbow = mw.ustring.gsub(material, '[^%s]', function(str1)&lt;br /&gt;
        if str1 == 'ῧ' then&lt;br /&gt;
            ZhConverter_old_flag = flag&lt;br /&gt;
            return ''&lt;br /&gt;
        end&lt;br /&gt;
        if str1 == 'Ῥ' then&lt;br /&gt;
            flag = ZhConverter_old_flag&lt;br /&gt;
            return ''&lt;br /&gt;
        end&lt;br /&gt;
        if str1 == '‡' then&lt;br /&gt;
            mark = true&lt;br /&gt;
            return ''&lt;br /&gt;
        end&lt;br /&gt;
        if str1 == 'Æ' then&lt;br /&gt;
            htmlEscape = htmlEscape + 1&lt;br /&gt;
            return htmlEscapeSave[htmlEscape - 1]&lt;br /&gt;
        end&lt;br /&gt;
        if mark then&lt;br /&gt;
            mark = false&lt;br /&gt;
            return str1&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        local colour = ''&lt;br /&gt;
        if str1 ~= 'Ÿ' then&lt;br /&gt;
            colour = '&amp;lt;span style=&amp;quot;color:'..colors[flag]..'&amp;quot;&amp;gt;'..str1..'&amp;lt;/span&amp;gt;'&lt;br /&gt;
        else&lt;br /&gt;
            colour = string.gsub(rubySave[ruby], '&amp;lt;ruby([^&amp;gt;]*)&amp;gt;', function(str2)&lt;br /&gt;
                if string.find(str2, 'style=&amp;quot;.-&amp;quot;') then&lt;br /&gt;
                    return '&amp;lt;ruby '..string.gsub(str2, 'style=&amp;quot;(.-)&amp;quot;', function(str3)&lt;br /&gt;
                        return 'style=&amp;quot;'..str3..'; color:'..colors[flag]..'&amp;quot;'&lt;br /&gt;
                    end)..'&amp;gt;'&lt;br /&gt;
                else&lt;br /&gt;
                    return '&amp;lt;ruby'..str2..' style=&amp;quot;color:'..colors[flag]..'&amp;quot;&amp;gt;'&lt;br /&gt;
                end&lt;br /&gt;
            end)&lt;br /&gt;
            ruby = ruby + 1&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        if flag &amp;lt; #colors then&lt;br /&gt;
            flag = flag + 1&lt;br /&gt;
        else&lt;br /&gt;
            flag = 1&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        return colour&lt;br /&gt;
    end)&lt;br /&gt;
&lt;br /&gt;
    return rainbow&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function module.main(frame)&lt;br /&gt;
    local args = getArgs(frame, {wrappers='Template:交叉颜色F'})&lt;br /&gt;
    local colorStr = args.c or args[1]&lt;br /&gt;
    local material = args.s or args[2]&lt;br /&gt;
    local colors = mw.text.split(colorStr, ',')&lt;br /&gt;
    return module._main(colors, material)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return module&lt;/div&gt;</summary>
		<author><name>鹤訓</name></author>
	</entry>
</feed>