Sandbox91

From Metabolomics.JP
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
 
{{#def:page|Test}}
 
{{#def:page|Test}}
 
{{#lua:
 
{{#lua:
for line in string.gmatch(stdin, "&&{{#var:page}}([^%s]+)") do
+
--%% 前処理 %%--
   print(line .. "<br>")
+
local list = {} -- データリスト
 +
local flag = {} -- 最下層のアイテムかどうか
 +
local i, j, data, index, leve, prev
 +
i = 0; index = 0; level = 0; prev = 0
 +
 
 +
--%% データ整理 %%--
 +
for line in string.gmatch(stdin, "&&{{#var:page}}([^&]+)") do
 +
   --%% -の数を調べる %%--
 +
  data = string.gsub(line, "^-+", "", 1) --%% 先頭の-を削除する %%--
 +
  level = string.len(line) - string.len(data) --%% -を削除した文字列と元の文字列の長さを比較する %%--
 +
 
 +
  --%% データを配列へ格納 %%--
 +
  list[i] = data
 +
 
 +
  --%% 最下層を調べ、最下層ならflagをセットする %%--
 +
  if(prev > level) then
 +
    index = i
 +
  elseif(prev < level) then
 +
    for j = i-1, index, -1 do
 +
      flag[j] = true
 +
    end
 +
    index = i
 +
  end
 +
 
 +
  prev = level;
 +
  i = i + 1
 +
 
 +
--  print(line .. "-" .. string.len(data) .. "-" .. string.len(line) .. "<br>")
 
end
 
end
 +
 +
--%% 表示処理 %%--
 
|{{#searchline:-|Index|{{#var:page}} }} }}
 
|{{#searchline:-|Index|{{#var:page}} }} }}

Revision as of 22:18, 21 January 2009


Personal tools
Namespaces

Variants
Actions
Navigation
metabolites
Toolbox