مواد ڏانھن هلو

ماڊيول:Yesno/doc

کليل ڄاڻ چيڪلي، وڪيپيڊيا مان

This is the documentation page for ماڊيول:Yesno

هي ماڊيول boolean يا boolean جهڙي اسٽرنگ انپٽ کي پروسيس ڪرڻ لاءِ هڪجهڙو انٽرفيس مهيا ڪري ٿو. Lua ۾ سڌو سنئون true ۽ false boolean ويليوز استعمال ڪري سگهجن ٿا، پر وڪي ڪوڊ سانچن ۾ boolean ويليوز صرف اسٽرنگن جهڙوڪ "yes"، "no" وغيره ذريعي ظاهر ڪري سگهجن ٿا.

هي ماڊيول اهڙين اسٽرنگن کي پروسيس ڪري انهن کي Lua لاءِ boolean ويليوز ۾ تبديل ڪري ٿو. هي ماڊيول nil ويليو کي به nil ئي موٽائي ٿو، جيئن nil ۽ false جي وچ ۾ فرق برقرار رهي.

هي ماڊيول ٻين Lua ڊيٽا قسمن کي به انپٽ طور قبول ڪري ٿو، جهڙوڪ:

  • boolean
  • number
  • table
  • function

جيڪڏهن ماڊيول کي اهڙو انپٽ ڏنو وڃي جيڪو boolean يا nil طور سڃاڻپ ۾ نه اچي، ته هڪ ڊفالٽ ويليو مقرر ڪري سگهجي ٿي جيڪا نتيجي طور واپس ڪئي ويندي.

yesno(value, default)

value اها ويليو آهي جنهن کي جاچڻو آهي. Boolean يا boolean جهڙو انپٽ هميشه true يا false ۾ تبديل ٿيندو، ۽ nil هميشه nil رهندو. ٻيون ويليوز default جي برابر ٿينديون.

استعمال

[سنواريو]

پهريان ماڊيول لوڊ ڪيو. ياد رکو ته اهو صرف ٻين Lua ماڊيولن مان لوڊ ڪري سگهجي ٿو، عام وڪي صفحن مان نه. عام وڪي صفحن لاءِ {{yesno}} استعمال ڪري سگهجي ٿو.

local yesno = require('Module:Yesno')

ڪجهه انپٽ هميشه true ڏيندا، ۽ ڪجهه هميشه false.

-- هي هميشه true ڏيندا:
yesno('yes')
yesno('y')
yesno('true')
yesno('t')
yesno('on')
yesno('1')
yesno(1)
yesno(true)

-- هي هميشه false ڏيندا:
yesno('no')
yesno('n')
yesno('false')
yesno('f')
yesno('off')
yesno('0')
yesno(0)
yesno(false)

-- nil هميشه nil ڏيندو:
yesno(nil)
yesno()

اسٽرنگ کي lowercase ۾ تبديل ڪيو ويندو:

yesno('Yes')
yesno('YES')
yesno('yEs')
yesno('Y')
yesno('tRuE')

yesno('No')
yesno('NO')
yesno('nO')
yesno('N')
yesno('fALsE')

اڻڄاتل انپٽ ('foo')

[سنواريو]

جيڪڏهن yesno کي اهڙو انپٽ ملي جيڪو مٿين فهرست ۾ نه هجي، ته توهان default ويليو ڏئي سگهو ٿا. جيڪڏهن default نه ڏنو وڃي ته نتيجو nil هوندو.

-- nil موٽائيندا:
yesno(nil)
yesno('foo')
yesno({})
yesno(5)
yesno('')
yesno(function() return 'This is a function.' end)

-- true موٽائيندا:
yesno('foo', true)
yesno({}, true)
yesno(5, true)

-- "bar" موٽائيندا:
yesno('foo', 'bar')
yesno({}, 'bar')
yesno(5, 'bar')

خالي اسٽرنگ عام طور وڪي ٽيڪسٽ ۾ false هوندي آهي، پر Lua ۾ true هوندي آهي. هي ماڊيول Lua جي رويي کي ترجيح ڏئي ٿو.

جيڪڏهن خالي اسٽرنگ کي false طور استعمال ڪرڻ ضروري هجي، ته Module:Arguments استعمال ڪريو.

nil نتيجن کي سنڀالڻ

[سنواريو]
yesno(nil)         -- nil
yesno('foo')       -- nil
yesno(nil, true)   -- nil
yesno(nil, false)  -- nil
yesno('foo', true) -- true

صرف true/false نتيجا حاصل ڪرڻ لاءِ:

myvariable = yesno(value or false)
myvariable = yesno(value or true)
myvariable = yesno('foo') or false
myvariable = yesno('foo', true) or false

بهتر طريقو:

local myvariable = yesno(value)
if myvariable == nil then
    myvariable = true
end