Volatile:ListField: Difference between revisions

No edit summary
No edit summary
 
Line 1: Line 1:
<!----List fields of name "<nowiki>{{{1}}}</nowiki>" in namespace "<nowiki>{{{2}}}</nowiki>"---->
<!----List fields of name "<nowiki>{{#get:1}}</nowiki>" in namespace "<nowiki>{{#get:2}}</nowiki>"---->
{{#def:ARG1|{{{1}}}}}{{#def:ARG2|{{{2}}}}}{{#def:ARG3|{{{3|0}}}}}
{{#def:ARG1|{{#get:1}}}}{{#def:ARG2|{{#get:2}}}}{{#def:ARG3|{{#get:3|0}}}}
==Search Results of '''{{{1}}}'''==
==Search Results of '''{{#get:1}}'''==
{{#lua:
{{#invoke:ListField|func1|{{#replace:{{#SearchLine:{{#var:ARG1}}|{{#var:ARG2}}}}|&#124;|&&}}|{{#get:1}}|{{#var:ARG2}}|{{#var:ARG3}}}}
  function trim(s) return (string.gsub(s, "^%s*(.-)%s*$", "%1")) end
  list = {}
  id = {}
  for page,data in stdin:gmatch("&&([%S]+)&&{{{1}}} *= *([^\n]+)") do
    if ((data ~= "-") and (data ~= " ")) then
      data = trim(data)
      tmp = list[data]
      if (tmp == nil) then
        list[data] = { page }
        table.insert(id, data)
      else
        table.insert(tmp, page)
      end
    end
  end
  table.sort(id)
  print("Total " .. table.getn(id) .. " groups.")
  local coff = tonumber("{{#var:ARG3}}")
  if (coff == nil) then coff =0 else print("Showing groups more than size=" .. coff .. "only") end
  for _,v in ipairs(id) do
    if (table.getn(list[v]) > coff) then
      print("* '''" .. v .. "'''")
      table.sort(list[v])
      for i = 1,table.getn(list[v]) do
        if (list[v][i] ~= list[v][i + 1]) then
          print("[[{{#var:ARG2}}:" .. list[v][i] .."|".. list[v][i] .."]]") end
      end
    end
  end
|
{{#replace:{{#SearchLine:{{#var:ARG1}}|{{#var:ARG2}}}}|&#124;|&&}}
}}

Latest revision as of 07:28, 30 January 2023


Search Results of

Lua error in Module:ListField at line 16: attempt to concatenate local 'arg1' (a nil value).