コンテンツにスキップ

モジュール:IfAllArgsEntered

モジュールの解説[表示] [編集] [履歴] [キャッシュを破棄]

与えられた引数がすべて空かどうかを調べます。空の引数が1つでもあれば空文字を、そうでなければ引数の個数を返します。 条件文が空のとき偽と判定する{{#if}}の仕様に合わせてあります。

使用例[編集]

  • {{#invoke:IfAllArgsEntered|_1}} -
  • {{#invoke:IfAllArgsEntered|_1|}} -
  • {{#invoke:IfAllArgsEntered|_1|a}} - 1
  • {{#invoke:IfAllArgsEntered|_2|a}} -
  • {{#invoke:IfAllArgsEntered|_2|a|}} -
  • {{#invoke:IfAllArgsEntered|_2|a|b}} - 2
  • {{#invoke:IfAllArgsEntered|_3|a|b|c}} - 3
  • {{#invoke:IfAllArgsEntered|_3|a||c}} -
  • {{#invoke:IfAllArgsEntered|_3|a||}} -
  • {{#invoke:IfAllArgsEntered|_3|}} -
  • {{#invoke:IfAllArgsEntered|_3}} -


  • {{#if:{{#invoke:IfAllArgsEntered|_1|}}|真|偽}} - 偽
  • {{#if:{{#invoke:IfAllArgsEntered|_1|a}}|真|偽}} - 真
  • {{#if:{{#invoke:IfAllArgsEntered|_2|a}}|真|偽}} - 偽
  • {{#if:{{#invoke:IfAllArgsEntered|_2|a|}}|真|偽}} - 偽
  • {{#if:{{#invoke:IfAllArgsEntered|_2|a|b}}|真|偽}} - 真


関連項目[編集]

-- 与えられた引数がすべて空でない時「引数の個数」(文字列型)を返す、そうでないとき「""」(空文字)を返す。
-- 呼び方: {{#invoke:IfAllArgsEntered|_(調べたい引数の個数)| 調べたい引数...}}

local p ={}

p._1 = function(frame)
    return p.validate(1, frame)
end

p._2 = function(frame)
    return p.validate(2, frame)
end

p._3 = function(frame)
    return p.validate(3, frame)
end

p._4 = function(frame)
    return p.validate(4, frame)
end

p._5 = function(frame)
    return p.validate(5, frame)
end

p._6 = function(frame)
    return p.validate(6, frame)
end

p._7 = function(frame)
    return p.validate(7, frame)
end

p._8 = function(frame)
    return p.validate(8, frame)
end

p._9 = function(frame)
    return p.validate(9, frame)
end

p._10 = function(frame)
    return p.validate(10, frame)
end

p.validate = function(size, target)
    if target == nil or target.args == nil then return "" end

    local i=1
    while i<=size do
        value = target.args[i]
        if value == nil or value == "" then
            return ""
        end
        i= i+1
    end
    return string.format("%d ", i-1)
end

return p