Extension:Loops/tr

Category:GPL licensed extensions/tr
MediaWiki manüel uzantıları
Loops
Sürüm durumu: kararlıCategory:Stable extensions/tr
Uygulama Ayrıştırıcı işlevi Category:Parser function extensions/tr
Açıklama Döngüleri gerçekleştirmek için ayrıştırıcı işlevleri sağlar
Yazar(lar)
En son sürüm 0.5.2 (2019-08-05)
MediaWiki 1.34+Category:Extensions with manual MediaWiki version
PHP 5.6+
Veritabanı değişiklikleri Hayır
Lisans GNU Genel Kamu Lisansı 2.0 veya üstü
İndir Category:Extensions in Wikimedia version control/tr
README
RELEASE-NOTES
Örnek sandbox.semantic-mediawiki.org
  • $wgLoopsEnabledFunctions
  • $wgLoopsCountLimit
Quarterly downloads 34 (Ranked 65th)
Translatewiki.net adresinde mevcutsa, Loops uzantısını çevirin
Sorunlar Açık görevler · Hata bildir
Category:All extensions/tr

Loops uzantısı, döngüler gerçekleştirmek için Ayrıştırıcı işlevleri sağlar.

Şu anda, bu uzantı MGChecker tarafından temel düzeyde korunur.

Kullanım

Aşağıdaki örnekler Variables uzantısını ve bazı durumlarda da ParserFunctions uzantısını kullanır.

#while

{{#while}}, koşul işaretlemesi boşluk olmayan olarak değerlendirildiği sürece bir döngü gerçekleştirir (yani belirli bir viki biçimlendirme blok ifadesini tekrar tekrar ayrıştırır).

{{#while:
 | <durum metni>
 | <blok ifadesi>
}}
Örnekler

Viki işaretlemesi:

{{#vardefine: i | 0 }}{{#while:
 | {{#ifexpr: {{#var: i }} < 5 | true }}
 | <nowiki />
* {{#var: i }}{{#vardefine: i | {{#expr: {{#var: i }} + 1 }} }}
}}

aşağıdakine üretir:

  • 0
  • 1
  • 2
  • 3
  • 4

{{#while}}, numaralandırılmış bir diziyi simüle etmek için bir şablonda da kullanılabilir. "Template:Loops Test" sayfası içeryorsa

{{#vardefine: i | 0 }}{{#while:
 | {{{arg{{#var: i }} |}}}
 | <nowiki />
* {{{arg{{#var: i }} }}}{{#vardefine: i
   | {{#expr: {{#var: i }} + 1 }}
 }}
}}

sonra viki biçimlendirmesi

{{Loops Test
 |arg0=sıfır
 |arg1=bir
 |arg2=iki
 |arg3=üç
 |arg4=dört
}}

üretir

  • sıfır
  • bir
  • iki
  • üç
  • dört

Yeni satırlar, sekmeler ve boşluklar dahil olmak üzere boşlukların, bu ayrıştırıcı işlevlerinin tüm bağımsız değişkenlerinin başından ve sonundan çıkarıldığını belirtmek önemlidir. Bu istenmiyorsa, boşluk olmayan karakterlerin eklenmesi (bir boşluk karakteri &#32; için HTML kodlaması dahil) daha fazla sıyrılmayı önleyecektir (dolayısıyla yukarıdaki örneklerde <nowiki> etiketleri).

#dowhile

{{#dowhile}}, blok ifadesinin en az bir kez ayrıştırılması ve görüntülenmesi (görüntülenebilir metinle sonuçlanırsa) garanti edilmesi dışında, tam olarak {{#while}} gibi çalışır. Bu, koşul metni değerlendirilmeden önce yapılır.

#loop

{{#loop: <variable name>
 | <starting value>
 | <number of loops to be performed>
 | <wiki markup>
}}

{{#loop}} tekrar tekrar ayrıştırır ve <wiki markup> mutlak değerine <number of loops to be performed> eşit olarak birkaç kez görüntüler. <Starting value>, <variable name> adını kullanan bir değişkene (Variables uzantısının {{#var:}} ayrıştırıcı işleviyle erişilebilir) yerleştirilir. Her döngüden sonra, <number of loops to be performed> pozitifse değişken bir artırılır veya <number of loops to be performed> negatifse bir-bir azaltılır.

Her döngü için genişletilmesi ve doğrulanması gereken bir koşul olmadığından, tüm döngü işlevlerinden #loop en iyi performansa sahip olmalıdır.
Örnekler

Aşağıdaki kod:

{{#loop: varname
 | 4
 | 4
 | <nowiki />
* Bu raunt {{#var: varname }} ve {{#expr: 7 - {{#var: varname }} }} tane daha var
}}

üretir

  • Bu raunt 4 ve 3 tane daha var
  • Bu raunt 5 ve 2 tane daha var
  • Bu raunt 6 ve 1 tane daha var
  • Bu raunt 7 ve 0 tane daha var

#forargs (deneysel)

{{#forargs}} şablonlarda kullanılır.

Şablona iletilen bağımsız değişkenleri alır ve bunları Variables uzantısının {{#var:}} ayrıştırıcı işlevi tarafından erişilebilen değişkenlere yerleştirir.

{{#forargs: <prefix>
 | <key>
 | <value>
 | <block statement>
}}

Bu işlev, adı <prefix> ile başlayan her bir bağımsız değişkeni yineler.

Her yinelemede, bağımsız değişken adını, sanki {{#vardefine: <key> }} çağırıyormuş gibi eksi <prefix> <key> koyar.

Daha sonra bağımsız değişkenin değerini alır ve benzer bir yöntemde onu <value> içine koyar.

Blok ifadesi daha sonra genişletilir.

Blok ifadesi, saklanan bağımsız değişkenleri erişmek için {{#var: <key> }} ve {{#var: <value> }} içerebilir.

Örnek

"Template:Loops Test" sayfası içeryorsa

{{#forargs: arg
 | key
 | value
 | <nowiki />
* {{#var: key }} = {{#var: value }}
}}

sonra viki biçimlendirmesi

{{Loops Test
 | arg1=val1
 | spam=spammity
 | arg5=val5
 | argument=value
}}

produces

  • 1 = val1
  • 5 = val5
  • ument = value

#fornumargs (deneysel)

{{#fornumargs: <key>
 | <value>
 | <block statement>
}}

{{#fornumargs}}, {{#forargs}} ile benzer şekilde çalışır, ancak iki büyük fark vardır: Bir önek bağımsız değişkeni almaz ve yalnızca, açıkça numaralandırılmış olsun ya da olmasın, numaralandırılmış bağımsız değişkenler üzerinde çalışır.

{{Template
 | 1=one
 | 2=two
}}

veya dolaylı olarak numaralandırılmıştır.

{{Template
 | one
 | two
}}

Bu yöntemleri tek bir şablon çağrısında karıştırmak, değerlerin üzerine yazılmasına neden olabilir, bu yüzden dikkatli olun.

Örnekler

"Template:Loops Test" aşağıdakileri içerecek şekilde düzenlenirse:

{{#fornumargs: number
 | value
 | <nowiki />
* {{#var: number }} = {{#var: value }}
}}

sonra

{{Loops Test
  | Apricot
  | B = Bolognese
  | Caramel slice
  | 5 = Eclair
}}

sonuçlanacak

  • 1 = Apricot
  • 2 = Caramel slice
  • 5 = Eclair

Kurulum

Bu uzantı tarafından sağlanan ayrıştırıcı işlevlerinden bazıları, önce ParserFunctions uzantısının yanı sıra Variables uzantısının yüklenmesini gerektirir.
  • Dosyaları indirin ve extensions/ klasörünüzdeki Loops adlı dizine yerleştirin.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Loops
  • LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
    wfLoadExtension( 'Loops' );
    
  • Size uygun şekilde yapılandırın
  • Yes Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.

Yapılandırma

Bu yapılandırma değişkenleri, bu uzantının eklenmesinden sonra LocalSettings.php dosyasında ayarlanmalıdır.

$egLoopsCountLimit
Bu parametre, bir sayfanın gerçekleştirmesine izin verilen maksimum döngü sayısını ayarlar (varsayılan 100). -1 olarak ayarlamak, döngülerin phps ortamının sınırları içinde çalışmasına izin verir. Bu parametre, ne {{#forargs:}} ne de {{#fornumargs:}} ayrıştırıcı işlevlerini etkilemez.
$egLoopsEnabledFunctions
Hangi Loops işlevlerinin etkinleştirilmesi gerektiğini tanımlamak için yapılandırma değişkeni (dizi). Varsayılan olarak, Variables uzantısı da kuruluysa tüm işlevler etkinleştirilir. Variables uzantısı kurulu değilse, kurulmadan çalışmadıkları için #loop, #forargs ve #fornumargs devre dışı bırakılır. Yalnızca #fornumargs ve #forargs işlevlerini etkinleştirmek için şunlar kullanılabilir:
$egLoopsEnabledFunctions = array_diff(
    $egLoopsEnabledFunctions, [
        'forargs', 'fornumargs'
        ]
    );


Ayrıca bakınız

Category:All extensions/tr Category:Extensions in Wikimedia version control/tr Category:Extensions included in BlueSpice/tr Category:Extensions included in Canasta/tr Category:Extensions included in Fandom/tr Category:Extensions included in Miraheze/tr Category:Extensions included in MyWikis/tr Category:Extensions included in ProWiki/tr Category:Extensions included in WikiForge/tr Category:Extensions included in semantic::core/tr Category:Extensions included in wiki.gg/tr Category:Extensions with manual MediaWiki version Category:GPL licensed extensions/tr Category:ParserClearState extensions/tr Category:ParserFirstCallInit extensions/tr Category:ParserLimitReportPrepare extensions/tr Category:Parser function extensions/tr Category:Stable extensions/tr