<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://library.hmoegirl.com/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3AVar-array</id>
	<title>模块:Var-array - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://library.hmoegirl.com/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3AVar-array"/>
	<link rel="alternate" type="text/html" href="https://library.hmoegirl.com/index.php?title=%E6%A8%A1%E5%9D%97:Var-array&amp;action=history"/>
	<updated>2026-09-11T14:04:55Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://library.hmoegirl.com/index.php?title=%E6%A8%A1%E5%9D%97:Var-array&amp;diff=418&amp;oldid=prev</id>
		<title>OrangeSama：​创建页面，内容为“local module = {}  function module.new(name, array) 	local frame = mw.getCurrentFrame() 	local idCount = frame:callParserFunction( &#039;#var&#039;, &#039;array.idCount&#039;, 0) 	function foo(name, array) 		name = &#039;@array-innerArrayIdentifier:&#039;..name 		frame:callParserFunction( &#039;#vardefine&#039;, name, name) 		for i, v in ipairs(array) do 			if type(v) == &#039;table&#039; then 				idCount = idCount + 1 				local innerArrayName = name..&#039;___&#039;..idCount..&#039;___&#039; 				foo(innerArrayName, v) 				v = &#039;@…”</title>
		<link rel="alternate" type="text/html" href="https://library.hmoegirl.com/index.php?title=%E6%A8%A1%E5%9D%97:Var-array&amp;diff=418&amp;oldid=prev"/>
		<updated>2026-08-07T06:25:49Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“local module = {}  function module.new(name, array) 	local frame = mw.getCurrentFrame() 	local idCount = frame:callParserFunction( &amp;#039;#var&amp;#039;, &amp;#039;array.idCount&amp;#039;, 0) 	function foo(name, array) 		name = &amp;#039;@array-innerArrayIdentifier:&amp;#039;..name 		frame:callParserFunction( &amp;#039;#vardefine&amp;#039;, name, name) 		for i, v in ipairs(array) do 			if type(v) == &amp;#039;table&amp;#039; then 				idCount = idCount + 1 				local innerArrayName = name..&amp;#039;___&amp;#039;..idCount..&amp;#039;___&amp;#039; 				foo(innerArrayName, v) 				v = &amp;#039;@…”&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;
function module.new(name, array)&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	local idCount = frame:callParserFunction( &amp;#039;#var&amp;#039;, &amp;#039;array.idCount&amp;#039;, 0)&lt;br /&gt;
	function foo(name, array)&lt;br /&gt;
		name = &amp;#039;@array-innerArrayIdentifier:&amp;#039;..name&lt;br /&gt;
		frame:callParserFunction( &amp;#039;#vardefine&amp;#039;, name, name)&lt;br /&gt;
		for i, v in ipairs(array) do&lt;br /&gt;
			if type(v) == &amp;#039;table&amp;#039; then&lt;br /&gt;
				idCount = idCount + 1&lt;br /&gt;
				local innerArrayName = name..&amp;#039;___&amp;#039;..idCount..&amp;#039;___&amp;#039;&lt;br /&gt;
				foo(innerArrayName, v)&lt;br /&gt;
				v = &amp;#039;@array-innerArrayIdentifier:&amp;#039;..innerArrayName&lt;br /&gt;
			end&lt;br /&gt;
			frame:callParserFunction( &amp;#039;#vardefine&amp;#039;, name..i, v)		&lt;br /&gt;
		end&lt;br /&gt;
		frame:callParserFunction( &amp;#039;#vardefine&amp;#039;, name..&amp;#039;.count&amp;#039;, #array)&lt;br /&gt;
	end&lt;br /&gt;
	foo(name, array)&lt;br /&gt;
	&lt;br /&gt;
	frame:callParserFunction( &amp;#039;#vardefine&amp;#039;, &amp;#039;array.idCount&amp;#039;, idCount)&lt;br /&gt;
	return name&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function module.get(name)&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	if type(name) == &amp;#039;nil&amp;#039; then return nil end&lt;br /&gt;
	local time = 0&lt;br /&gt;
	function foo(name)&lt;br /&gt;
		local array = {}&lt;br /&gt;
		&lt;br /&gt;
		time = time + 1&lt;br /&gt;
		if time == 1 then&lt;br /&gt;
			name = &amp;#039;@array-innerArrayIdentifier:&amp;#039;..name&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local count = frame:callParserFunction( &amp;#039;#var&amp;#039;, name..&amp;#039;.count&amp;#039;)		&lt;br /&gt;
		if count == &amp;#039;&amp;#039; then return false end&lt;br /&gt;
		for i=1, count do&lt;br /&gt;
			local val = frame:callParserFunction(&amp;#039;#var&amp;#039;, name..i)&lt;br /&gt;
			if string.find(val, &amp;#039;^@array%-innerArrayIdentifier:&amp;#039;) then&lt;br /&gt;
				array[i] = foo(val)&lt;br /&gt;
			else&lt;br /&gt;
				array[i] = val&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return array&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return foo(name)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return module&lt;/div&gt;</summary>
		<author><name>OrangeSama</name></author>
	</entry>
</feed>