Модуль

Відмінності між версіями «Yesno»

м (Імпортовано 1 версія)
 
м (Імпортовано 1 версія)
 
(Не показано одну проміжну версію цього користувача)
Рядок 7: Рядок 7:
 
-- following line.
 
-- following line.
 
val = type(val) == 'string' and val:lower() or val
 
val = type(val) == 'string' and val:lower() or val
if val == nil then
+
  if val == nil then
 
return nil
 
return nil
elseif val == true  
+
  elseif val == true  
or val == 'yes'
+
or val == 'yes'
or val == 'y'
+
or val == 'y'
or val == 'true'
+
or val == 'true'
or val == 't'
+
or val == 'так'
or tonumber(val) == 1
+
or tonumber(val) == 1
then
+
    then return true
return true
+
  elseif val == false
elseif val == false
+
    or val == 'no'
or val == 'no'
+
    or val == 'n'
or val == 'n'
+
    or val == 'false'
or val == 'false'
+
    or val == 'f'
or val == 'f'
+
    or val == 'ні'
or tonumber(val) == 0
+
    or tonumber(val) == 0
then
+
      then return false
return false
+
      else return default
else
+
  end
return default
 
end
 
 
end
 
end

Поточна версія на 14:09, 22 жовтня 2018

Документацію для цього модуля можна створити у Модуль:Yesno/документація

-- Function allowing for consistent treatment of boolean-like wikitext input.
-- It works similarly to the template {{yesno}}.

return function (val, default)
	-- If your wiki uses non-ascii characters for any of "yes", "no", etc., you
	-- should replace "val:lower()" with "mw.ustring.lower(val)" in the
	-- following line.
	val = type(val) == 'string' and val:lower() or val
  if val == nil then
		return nil
  elseif val == true 
	or val == 'yes'
	or val == 'y'
	or val == 'true'
	or val == 'так'
	or tonumber(val) == 1
    then return true
  elseif val == false
    or val == 'no'
    or val == 'n'
    or val == 'false'
    or val == 'f'
    or val == 'ні'
    or tonumber(val) == 0
      then return false
      else return default
  end
end
Увага! Опитування читачів ВУЕ. Заповнити анкету ⟶