<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Module%3AElement%2Fsandbox</id>
	<title>Module:Element/sandbox - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Module%3AElement%2Fsandbox"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Module:Element/sandbox&amp;action=history"/>
	<updated>2026-06-28T02:26:36Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Module:Element/sandbox&amp;diff=3010310&amp;oldid=prev</id>
		<title>imported&gt;A2569875-sandbox 来自 2018年1月27日 (六) 12:43</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Module:Element/sandbox&amp;diff=3010310&amp;oldid=prev"/>
		<updated>2018-01-27T12:43:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
local origArgs&lt;br /&gt;
local error = require( &amp;#039;Module:Error&amp;#039; )&lt;br /&gt;
local element_data = require( &amp;#039;Module:Element/data&amp;#039; )&lt;br /&gt;
&lt;br /&gt;
function p.symbol(frame)&lt;br /&gt;
	-- For calling from #invoke.&lt;br /&gt;
	local pframe = frame:getParent()&lt;br /&gt;
	local args = pframe.args&lt;br /&gt;
	return p._symbol(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.link(frame)&lt;br /&gt;
	-- For calling from #invoke.&lt;br /&gt;
	local pframe = frame:getParent()&lt;br /&gt;
	local args = pframe.args&lt;br /&gt;
	return p._link(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.check(frame)&lt;br /&gt;
	-- For calling from #invoke.&lt;br /&gt;
	local pframe = frame:getParent()&lt;br /&gt;
	local args = pframe.args&lt;br /&gt;
	return p._check(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.neutron(frame)&lt;br /&gt;
	-- For calling from #invoke.&lt;br /&gt;
	local pframe = frame:getParent()&lt;br /&gt;
	local args = pframe.args&lt;br /&gt;
	return p._neutron(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._neutron(args)&lt;br /&gt;
	--去除模板引用時可能產生的空格&lt;br /&gt;
	eleString=&amp;#039;&amp;#039; if (args[1] and args[1] ~= &amp;#039;&amp;#039;) then eleString = string.gsub(args[1] , &amp;quot;%s$&amp;quot;, &amp;quot;&amp;quot;) else return &amp;#039;&amp;#039; end&lt;br /&gt;
	eleid = p.getListID(eleString)&lt;br /&gt;
	ele1 = element_data[eleid]&lt;br /&gt;
	if (eleid==-1) then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if (ele1.correct and ele1.correct  ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if (ele1.N and ele1.N ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
		return ele1.N&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.protons(frame)&lt;br /&gt;
	-- For calling from #invoke.&lt;br /&gt;
	local pframe = frame:getParent()&lt;br /&gt;
	local args = pframe.args&lt;br /&gt;
	return p._protons(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._protons(args)&lt;br /&gt;
	--去除模板引用時可能產生的空格&lt;br /&gt;
	eleString=&amp;#039;&amp;#039; if (args[1] and args[1] ~= &amp;#039;&amp;#039;) then eleString = string.gsub(args[1] , &amp;quot;%s$&amp;quot;, &amp;quot;&amp;quot;) else return &amp;#039;&amp;#039; end&lt;br /&gt;
	eleid = p.getListID(eleString)&lt;br /&gt;
	ele1 = element_data[eleid]&lt;br /&gt;
	if (eleid==-1) then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if (ele1.correct and ele1.correct  ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if (ele1.Z and ele1.Z ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
		return ele1.Z&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._check(args)&lt;br /&gt;
	--去除模板引用時可能產生的空格&lt;br /&gt;
	eleString=&amp;#039;&amp;#039; if (args[1] and args[1] ~= &amp;#039;&amp;#039;) then eleString = string.gsub(args[1] , &amp;quot;%s$&amp;quot;, &amp;quot;&amp;quot;) else return error.error{ &amp;#039;未輸入元素&amp;#039; } end&lt;br /&gt;
	linkString=&amp;#039;&amp;#039; if (args[&amp;#039;link&amp;#039;] and args[&amp;#039;link&amp;#039;] ~= &amp;#039;&amp;#039;) then	linkString = string.gsub(args[&amp;#039;link&amp;#039;] , &amp;quot;%s$&amp;quot;, &amp;quot;&amp;quot;) end&lt;br /&gt;
	if (linkString and linkString  ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
		if (linkString == &amp;#039;yes&amp;#039;) then&lt;br /&gt;
			pagetest=true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	eleid = p.getListID(eleString)&lt;br /&gt;
	ele1 = element_data[eleid]&lt;br /&gt;
	if (eleid==-1) then&lt;br /&gt;
		return error.error{ &amp;#039;未知的元素“&amp;#039; .. args[1] .. &amp;#039;”&amp;#039; } .. &amp;#039;[[Category:含有錯誤元素符號的條目]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if (ele1.correct and ele1.correct  ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
		return error.error{ &amp;#039;“&amp;#039; .. args[1] .. &amp;#039;”不是“&amp;#039;.. ele1.correct .. &amp;#039;”的正確拼法。&amp;#039; }&lt;br /&gt;
	end&lt;br /&gt;
	if (ele1.page and ele1.page ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if(pagetest)then&lt;br /&gt;
		return error.error{ &amp;#039;元素“&amp;#039; .. args[1] .. &amp;#039;”&amp;#039; .. &amp;#039;沒有對應的頁面。&amp;#039;}&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._symbol(args)&lt;br /&gt;
	if not(args[1] and args[1] ~= &amp;#039;&amp;#039;) then return error.error{ &amp;#039;未輸入元素&amp;#039; } end&lt;br /&gt;
	myString = string.gsub(args[1] , &amp;quot;%s$&amp;quot;, &amp;quot;&amp;quot;) --去除模板引用時可能產生的空格&lt;br /&gt;
	eleid = p.getListID(myString)&lt;br /&gt;
	if (eleid==-1) then&lt;br /&gt;
		return error.error{ &amp;#039;未知的元素“&amp;#039; .. args[1] .. &amp;#039;”&amp;#039; } .. &amp;#039;[[Category:含有錯誤元素符號的條目]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	ele1 = element_data[eleid]&lt;br /&gt;
	if(ele1.NotElement)then&lt;br /&gt;
		return ele1.Symbol&lt;br /&gt;
	end&lt;br /&gt;
	num = ele1.Z + ele1.N --計算質量數&lt;br /&gt;
	n = ele1.N&lt;br /&gt;
	number=tonumber(args[2])&lt;br /&gt;
	if (number and number  ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
		num = number&lt;br /&gt;
		n = num - ele1.Z&lt;br /&gt;
		if (n &amp;gt; 0) then --讀到有效的原子量才會進來這裡執行&lt;br /&gt;
			if (ele1.Isotope) then&lt;br /&gt;
				for v, x in ipairs(ele1.Isotope) do&lt;br /&gt;
					if (x.N == n) then&lt;br /&gt;
						if (x.Symbol and x.Symbol  ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
							return x.Symbol&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return ele1.Symbol &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._link(args)&lt;br /&gt;
	--去除模板引用時可能產生的空格&lt;br /&gt;
	arg1=&amp;#039;&amp;#039;	if (args[1] and args[1] ~= &amp;#039;&amp;#039;) then	arg1 = string.gsub(args[1] , &amp;quot;%s$&amp;quot;, &amp;quot;&amp;quot;) else return error.error{ &amp;#039;未輸入元素&amp;#039; } end&lt;br /&gt;
	arg2=&amp;#039;&amp;#039;	if (args[2] and args[2] ~= &amp;#039;&amp;#039;) then	arg2 = string.gsub(args[2] , &amp;quot;%s$&amp;quot;, &amp;quot;&amp;quot;) end&lt;br /&gt;
	arg3=&amp;#039;&amp;#039;	if (args[3] and args[3] ~= &amp;#039;&amp;#039;) then	arg3 = string.gsub(args[3] , &amp;quot;%s$&amp;quot;, &amp;quot;&amp;quot;) end&lt;br /&gt;
	eleid = p.getListID(arg1)&lt;br /&gt;
	has_m=&amp;#039;&amp;#039;&lt;br /&gt;
	if (arg3 and arg3  ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
		has_m=arg3&lt;br /&gt;
	end&lt;br /&gt;
	if (eleid == -1) then&lt;br /&gt;
		return error.error{ &amp;#039;未知的元素“&amp;#039; .. arg1 .. &amp;#039;”&amp;#039; } .. &amp;#039;[[Category:含有錯誤元素符號的條目]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	ele1 = element_data[eleid]&lt;br /&gt;
	if(ele1.NotElement)then&lt;br /&gt;
		return ele1.page&lt;br /&gt;
	end&lt;br /&gt;
	if (ele1.page and ele1.page  ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
		num = ele1.Z + ele1.N --計算質量數&lt;br /&gt;
		n = ele1.N&lt;br /&gt;
		hasmass=false&lt;br /&gt;
		number=tonumber(arg2)&lt;br /&gt;
		if (number and number  ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
			num = number&lt;br /&gt;
			n = num - ele1.Z&lt;br /&gt;
			hasmass=true&lt;br /&gt;
			if (n &amp;lt; 0) then&lt;br /&gt;
				return error.error{ &amp;#039;中子數不得為“&amp;#039; .. n .. &amp;#039;”&amp;#039; }&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			if (args2 and args2 ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
				return error.error{ &amp;#039;未知的質量數“&amp;#039; .. args2 .. &amp;#039;”&amp;#039; }&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if (hasmass == true) then&lt;br /&gt;
			if (ele1.Isotope) then&lt;br /&gt;
				for v, x in ipairs(ele1.Isotope) do&lt;br /&gt;
					if (x.N == n) then&lt;br /&gt;
						if (x.page and x.page  ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
							return  x.page&lt;br /&gt;
						else&lt;br /&gt;
							return error.error{ &amp;#039;元素“&amp;#039; .. args[1] .. &amp;#039;”&amp;#039; .. &amp;#039;質量數為“&amp;#039;.. num  ..&amp;#039;”的同位素沒有對應的頁面。&amp;#039;}&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				return ele1.page .. &amp;#039;-&amp;#039; .. num .. has_m&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return ele1.page &lt;br /&gt;
	end&lt;br /&gt;
	return error.error{ &amp;#039;元素“&amp;#039; .. args[1] .. &amp;#039;”&amp;#039; .. &amp;#039;沒有對應的頁面。&amp;#039;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getListID(names)&lt;br /&gt;
	local body =&amp;#039;&amp;#039;         &lt;br /&gt;
	i=1&lt;br /&gt;
	for v, x in ipairs(element_data) do                                &lt;br /&gt;
		if ((x.name == names) or (x.page == names)) then&lt;br /&gt;
			return  i&lt;br /&gt;
		end&lt;br /&gt;
		for v1, x1 in ipairs(x.othername) do&lt;br /&gt;
			if (x1 == names) then&lt;br /&gt;
				return  i&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		i=i+1&lt;br /&gt;
	end&lt;br /&gt;
	return -1 &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.decaylink(frame)&lt;br /&gt;
	-- For calling from #invoke.&lt;br /&gt;
	local pframe = frame:getParent()&lt;br /&gt;
	local args = pframe.args&lt;br /&gt;
	return p._decaylink(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.elementlink(frame)&lt;br /&gt;
	-- For calling from #invoke.&lt;br /&gt;
	local pframe = frame:getParent()&lt;br /&gt;
	local args = pframe.args&lt;br /&gt;
	return p._elementlink(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._elementlink(args)&lt;br /&gt;
	arg1=&amp;#039;&amp;#039;	if (args[1] and args[1] ~= &amp;#039;&amp;#039;) then	arg1 = string.gsub(args[1] , &amp;quot;%s$&amp;quot;, &amp;quot;&amp;quot;) else return &amp;#039;&amp;#039; end&lt;br /&gt;
	arg2=&amp;#039;&amp;#039;	if (args[2] and args[2] ~= &amp;#039;&amp;#039;) then	arg2 = string.gsub(args[2] , &amp;quot;%s$&amp;quot;, &amp;quot;&amp;quot;) end&lt;br /&gt;
	eleid = p.getListID(arg1)&lt;br /&gt;
	if (eleid==-1) then&lt;br /&gt;
		return error.error{ &amp;#039;未知的元素“&amp;#039; .. arg1 .. &amp;#039;”&amp;#039; } .. &amp;#039;[[Category:含有錯誤元素符號的條目]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	ele1 = element_data[eleid]&lt;br /&gt;
	symbol1=ele1.Symbol&lt;br /&gt;
	if(arg2 and arg2 ~= &amp;#039;&amp;#039;)then if(arg2 ~= &amp;#039;1&amp;#039; )then&lt;br /&gt;
		if (ele1.compound)then symbol1 =&amp;#039;(&amp;#039; .. symbol1 .. &amp;#039;)&amp;#039; end&lt;br /&gt;
		symbol1 = symbol1 .. &amp;#039;&amp;lt;sub&amp;gt;&amp;#039; .. arg2 .. &amp;#039;&amp;lt;/sub&amp;gt;&amp;#039;&lt;br /&gt;
	end end&lt;br /&gt;
	if (ele1.compound)then&lt;br /&gt;
		return &amp;#039;[[&amp;#039; .. ele1.page .. &amp;#039;|&amp;#039; .. symbol1 .. &amp;#039;]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if (ele1.NotElement)then&lt;br /&gt;
		return error.error{ &amp;#039;“&amp;#039; .. args[1] .. &amp;#039;”不是元素。&amp;#039;}&lt;br /&gt;
	end&lt;br /&gt;
	if (ele1.correct and ele1.correct  ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
		return error.error{ &amp;#039;“&amp;#039; .. args[1] .. &amp;#039;”不是“&amp;#039;.. ele1.correct .. &amp;#039;”的正確拼法。&amp;#039; }&lt;br /&gt;
	end&lt;br /&gt;
	if (ele1.page and ele1.page  ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
		return &amp;#039;[[&amp;#039; .. ele1.page .. &amp;#039;|&amp;#039; .. symbol1 .. &amp;#039;]]&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		return error.error{ &amp;#039;元素“&amp;#039; .. args[1] .. &amp;#039;”沒有對應的頁面。&amp;#039;}&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._element_symbol(args)&lt;br /&gt;
	arg1=&amp;#039;&amp;#039;	if (args[1] and args[1] ~= &amp;#039;&amp;#039;) then	arg1 = string.gsub(args[1] , &amp;quot;%s$&amp;quot;, &amp;quot;&amp;quot;) else return &amp;#039;&amp;#039; end&lt;br /&gt;
	arg2=&amp;#039;&amp;#039;	if (args[2] and args[2] ~= &amp;#039;&amp;#039;) then	arg2 = string.gsub(args[2] , &amp;quot;%s$&amp;quot;, &amp;quot;&amp;quot;) end&lt;br /&gt;
	eleid = p.getListID(arg1)&lt;br /&gt;
	if (eleid==-1) then&lt;br /&gt;
		return error.error{ &amp;#039;未知的元素“&amp;#039; .. arg1 .. &amp;#039;”&amp;#039; } .. &amp;#039;[[Category:含有錯誤元素符號的條目]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	ele1 = element_data[eleid]&lt;br /&gt;
	symbol1=ele1.Symbol&lt;br /&gt;
	if(arg2 and arg2 ~= &amp;#039;&amp;#039;)then if(arg2 ~= &amp;#039;1&amp;#039; )then&lt;br /&gt;
		if (ele1.compound)then symbol1 =&amp;#039;(&amp;#039; .. symbol1 .. &amp;#039;)&amp;#039; end&lt;br /&gt;
		symbol1 = symbol1 .. &amp;#039;&amp;lt;sub&amp;gt;&amp;#039; .. arg2 .. &amp;#039;&amp;lt;/sub&amp;gt;&amp;#039;&lt;br /&gt;
	end end&lt;br /&gt;
	if (ele1.compound)then&lt;br /&gt;
		return symbol1&lt;br /&gt;
	end&lt;br /&gt;
	if (ele1.NotElement)then&lt;br /&gt;
		return error.error{ &amp;#039;“&amp;#039; .. args[1] .. &amp;#039;”不是元素。&amp;#039;}&lt;br /&gt;
	end&lt;br /&gt;
	if (ele1.correct and ele1.correct  ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
		return error.error{ &amp;#039;“&amp;#039; .. args[1] .. &amp;#039;”不是“&amp;#039;.. ele1.correct .. &amp;#039;”的正確拼法。&amp;#039; }&lt;br /&gt;
	end&lt;br /&gt;
	if (ele1.page and ele1.page  ~= &amp;#039;&amp;#039;) then&lt;br /&gt;
		return symbol1&lt;br /&gt;
	else&lt;br /&gt;
		return error.error{ &amp;#039;元素“&amp;#039; .. args[1] .. &amp;#039;”沒有對應的頁面。&amp;#039;}&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._decaylink(args)&lt;br /&gt;
	arg1=&amp;#039;&amp;#039;	if (args[1] and args[1] ~= &amp;#039;&amp;#039;) then	arg1 = string.gsub(args[1] , &amp;quot;%s$&amp;quot;, &amp;quot;&amp;quot;) else return &amp;#039;&amp;#039; end&lt;br /&gt;
	if(arg1==&amp;#039;p&amp;#039;) then arg1=&amp;#039;p+&amp;#039;end if(arg1==&amp;#039;n&amp;#039;) then arg1=&amp;#039;n0&amp;#039;end&lt;br /&gt;
	decayid = p.getListID(arg1)&lt;br /&gt;
	if (decayid==-1) then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	decay1 = element_data[decayid]&lt;br /&gt;
	if (decay1.decay)then&lt;br /&gt;
		return &amp;#039;[[&amp;#039; .. decay1.page .. &amp;#039;|&amp;#039; .. decay1.Symbol .. &amp;#039;]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.IUPAC = { [0] = &amp;#039;n&amp;#039;, [1] = &amp;#039;u&amp;#039;, [2] = &amp;#039;b&amp;#039;, [3] = &amp;#039;t&amp;#039;, [4] = &amp;#039;q&amp;#039;, [5] = &amp;#039;p&amp;#039;, [6] = &amp;#039;h&amp;#039;, [7] = &amp;#039;s&amp;#039;, [8] = &amp;#039;o&amp;#039;, [9] = &amp;#039;e&amp;#039; }&lt;br /&gt;
p.IUPAC_name = { [0] = &amp;#039;nil&amp;#039;, [1] = &amp;#039;un&amp;#039;, [2] = &amp;#039;bi&amp;#039;, [3] = &amp;#039;tri&amp;#039;, [4] = &amp;#039;quad&amp;#039;, [5] = &amp;#039;pent&amp;#039;, &lt;br /&gt;
					[6] = &amp;#039;hex&amp;#039;, [7] = &amp;#039;sept&amp;#039;, [8] = &amp;#039;oct&amp;#039;, [9] = &amp;#039;enn&amp;#039;, [10] = &amp;#039;ium&amp;#039;, [11] = &amp;#039;um&amp;#039; }&lt;br /&gt;
&lt;br /&gt;
function p.DecodeByIUPAC_rules(symbol_data)&lt;br /&gt;
	symbol = mw.ustring.lower(symbol_data)&lt;br /&gt;
	symbol_len = mw.ustring.len(symbol)&lt;br /&gt;
	Z_data = &amp;#039;&amp;#039;&lt;br /&gt;
	for i = 1, symbol_len do&lt;br /&gt;
		get_id = nil&lt;br /&gt;
		for j = 0, 9 do if mw.ustring.sub(symbol ,i, i) == p.IUPAC[j] then get_id = j end end&lt;br /&gt;
		if get_id == nil then return nil end&lt;br /&gt;
		Z_data = Z_data .. get_id&lt;br /&gt;
	end&lt;br /&gt;
	return tonumber(Z_data)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getElementByIUPAC_rules(index_input)&lt;br /&gt;
	result = &amp;#039;&amp;#039;&lt;br /&gt;
	result_name = &amp;#039;&amp;#039;&lt;br /&gt;
	index = tonumber(index_input)&lt;br /&gt;
	if index ~= nil then index = math.floor(index) else index = 0 end&lt;br /&gt;
	index_str = &amp;#039;&amp;#039; .. index&lt;br /&gt;
	index_len = mw.ustring.len(index_str)&lt;br /&gt;
	if index &amp;gt; 100 then&lt;br /&gt;
		for i = 1, index_len do&lt;br /&gt;
			data = p.IUPAC[tonumber(&amp;#039;&amp;#039; .. mw.ustring.sub(index_str ,i, i)) or 0]&lt;br /&gt;
			name = p.IUPAC_name[tonumber(&amp;#039;&amp;#039; .. mw.ustring.sub(index_str ,i, i)) or 0]&lt;br /&gt;
			if i == 1 then &lt;br /&gt;
				result = result .. mw.ustring.upper(data)&lt;br /&gt;
				result_name = result_name .. mw.ustring.upper(mw.ustring.sub(name,1,1)) .. mw.ustring.sub(name,2,-1)&lt;br /&gt;
			else&lt;br /&gt;
				result = result .. data&lt;br /&gt;
				result_name = result_name .. name&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if result == &amp;#039;&amp;#039; then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	result_name_index = 11 if mw.ustring.sub(result_name,-1,-1) ~= &amp;#039;i&amp;#039; then result_name_index = result_name_index - 1 end&lt;br /&gt;
	return { name=result_name .. p.IUPAC_name[result_name_index] , page=result, Symbol=result, Z=index }&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getElementByZ(index)&lt;br /&gt;
	local body =&amp;#039;&amp;#039;         &lt;br /&gt;
	for v, x in ipairs(element_data) do                                &lt;br /&gt;
		if (x.Z == index) then&lt;br /&gt;
			return  x&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if index &amp;gt; 0 then&lt;br /&gt;
		return p.getElementByIUPAC_rules(index)&lt;br /&gt;
	end&lt;br /&gt;
	return nil &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.next_element(symbol)&lt;br /&gt;
	eleid = p.getListID(symbol)&lt;br /&gt;
	ele1 = element_data[eleid]&lt;br /&gt;
	&lt;br /&gt;
	if ele1 == nil then ele_z = p.DecodeByIUPAC_rules(symbol) else if ele1.Z == nil then&lt;br /&gt;
		ele_z = p.DecodeByIUPAC_rules(symbol) else ele_z = ele1.Z end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if ele_z ~= nil then&lt;br /&gt;
		return p.getElementByZ(ele_z + 1)&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.last_element(symbol)&lt;br /&gt;
	eleid = p.getListID(symbol)&lt;br /&gt;
	ele1 = element_data[eleid]&lt;br /&gt;
	&lt;br /&gt;
	if ele1 == nil then ele_z = p.DecodeByIUPAC_rules(symbol) else if ele1.Z == nil then&lt;br /&gt;
		ele_z = p.DecodeByIUPAC_rules(symbol) else ele_z = ele1.Z end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if ele_z ~= nil then&lt;br /&gt;
		return p.getElementByZ(ele_z - 1)&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--本模塊的沙盒(測試)函數&lt;br /&gt;
function p.sandbox(frame)&lt;br /&gt;
	-- For calling from #invoke.&lt;br /&gt;
	local pframe = frame:getParent()&lt;br /&gt;
	local args = pframe.args&lt;br /&gt;
	return p._elementlink(args)&lt;br /&gt;
end&lt;br /&gt;
function p._sandbox(args)&lt;br /&gt;
	return element_data[p.getListID(args[1])].name &lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;A2569875-sandbox</name></author>
	</entry>
</feed>