WikiDer > Анықтама: Шартты өрнектер - Википедия
Бұл анықтама беті қалай басшылыққа алу керек. Онда Уикипедия нормалары мен тәжірибелерінің кейбір аспектілері (-лері) бойынша процедуралар немесе процедуралар егжей-тегжейлі баяндалған. Бұл біреу емес Википедия ережелері немесе нұсқаулары, және әр түрлі деңгейлерді көрсетуі мүмкін консенсус және тексеру. |
Бұл бет, Анықтама: шартты өрнектер, парақтағы жағдайларды тексеру негізінде әр түрлі нәтижелерді көрсету тәсілдерін сипаттайды шаблон. The талдау функциялары бағалау үшін қолданылады шартты өрнектер функция атауларын қосыңыз: #ifexpr, #ifeq, # ауыстыру, # егер, және # қателік немесе # өміршең. Әрбір функция атауы төмендегі түсіндірулермен байланыстырылды.
- Қолдану
#ifeq2 жолды немесе санды салыстыра алады. - Бірақ
#ifexprматематикалық формуланы немесе бірнеше шартты тексере алады. - The
# ауыстыруфункциясы мәнге байланысты ондаған немесе жүздеген түрлі жолдарға тармақталуы мүмкін, а ретінде әрекет етеді іс мәлімдемесі баламалар арасынан таңдау. - Қолдану
# егерпараметрдің қабылданғанын немесе өрнек шындық ретінде бағаланғанын тексере алады. - Қолдану
# қателікөрнек мәні қатені тудыратындығын немесе басқа мәнді көрсететіндігін тексере алады. - Әзірге
# өміршеңпарақтың атауы немесе кескін / медиа файлының бар-жоғын тексере алады.
Сыртқы жақшаның ішіндегі барлық ақ кеңістіктің алынып тасталатындығын ескеріңіз, сондықтан бұл оқылымды жақсарту үшін осы құрылымдарды форматтауға мүмкіндік береді. Мысалға:
{{#if: {{{хх |}}} | параметр xx өтті | параметр xx алынып тасталды}}Тек мәтінде ххтің екі жағындағы бос орындар пайда болады.
Шартты өрнектердің қысқаша мазмұны
Әр функцияның жылдам форматы келесідей (төмендегі функция мысалдарын көруге болады):
{{#if: сынақ жолы | егер бос емес болса | бос болса мәні }}(тест жолының бос екендігіне қарай екі мәннің бірін таңдайды){{#ifeq: жол 1 | 2-жол | тең болса, мән | егер тең емес болса }}(сынақ жолдарының тең екендігіне байланысты екі мәннің бірін таңдайды - егер мүмкін болса, сан жағынан){{#iferror: сынақ жолы | қате болса, мән | дұрыс болса, мән }}(сынақ жолында талдаушы қате туындағанына байланысты мәнді таңдайды){{#ifexpr: өрнек | егер шын болса, мән | жалған болса, мән }}(өрнекті бағалау негізінде мәнді таңдайды){{#ifexist: парақтың тақырыбы | бар болса, мән | жоқ болса, мән }}(парақтың тақырыбына байланысты мәнді таңдайды){{# ауыстыру: тест | іс1 = 1 жағдай үшін мән | ... | әдепкі }}(сынақ жолының мәніне негізделген баламаларды ұсынады; қараңыз) сынақ жағдайлары.){{#expr: өрнек }}(берілген өрнекті бағалайды; қараңыз Анықтама: есептеу)
The сиқырлы сөздер бірге, қиыстырылған комбинацияларда, күрделі жағдайларда тармақталу үшін қолданыла алады. Кейбір комбинациялар олардың арасындағы өзара әрекеттестікке негізделген трюктерді қолдана алады.
Бірге екенін ескеріңіз # егер өрнектер, а позициялық параметр, бұл формадағы параметр "{{{1}}}" әрқашан финалды талап етеді тік жолақ "|" параметрде: {{{1|}}}. Егер жолақ / құбыр алынып тасталса, онда параметр 1 болмаған кезде, өрісті бос қалдырудың орнына парақ мәтіндік мәтінді қолданады «{{{1}}}«(» 1 «айналасындағы 3 бұйра жақша жиынтығы сияқты), және # егер 1 параметр «1 =» сияқты бос жол ретінде берілмесе, дұрыс болады.
Қолдану # егер
Қолдану # егер параметрдің өткендігін тексере алады.
Бұл функция тест жолын бағалайды және оның бос не жоқ екенін анықтайды. Тек бос кеңістікті қамтитын сынақ жолы бос болып саналады.
:{{#if: сынақ жолы | егер сынақ жолы бос болмаса, мән | егер сынақ жолы бос болса (немесе бос орын ғана болса) }}
Мысалдар:
{{#if: {{{1|}}} | 1 параметрінде мәліметтер бар | параметр 1 бос немесе алынып тасталған}} {{# егер: {{{хх |}}} | параметр xx өтті | параметр xx бос немесе ескерілмеген}} {{# егер: {{{хх |}}}{{{yy |}}} | xx және / немесе yy өтті | xx және yy екеуі де бос / жоқ}}Қолдану #ifeq
Қолдану #ifeq салыстыра алады 2 жіптер немесе сандар (бірақ олай емес сандық өрнектер: 1 + 1). Бөлшектеу функциясы #ifeq екі шаманы салыстырады және олардың бірдей екендігін анықтайды.
:{{#ifeq: жол 1 | 2-жол | бірдей болса, мән | мәні басқаша болса }}
Егер екі жол да жарамды сандық мәндер болса, жолдар мәтін түрінде емес, сандармен салыстырылады:
{{#ifeq: 01 | 1 | тең | тең емес}}→ тең{{#ifeq: x01 | x1 | тең | тең емес}}→ тең емес{{#ifeq: 2.000 | 002 | тең | тең емес}}→ тең{{#ifeq: 2.5 | 2 + .5 | тең | тең емес}}→ тең емес (пайдалану#ifexprарифметика үшін)
{{#ifeq: {{#expr: 10 ^ 3}} | 1000 | тең | тең емес}}→ тең
Салыстыру регистрге сезгіш, бас әріптердің сәйкестігін тексеру:
{{#ifeq: Король | король | тең | тең емес}}→ тең емес{{#ifeq: {{lc: TopCat}} | topcat | тең | тең емес}}→ тең{{#ifeq: {{lc: {{{catname}}}}} | topcat | тең | тең емес}}
Сонымен, «параметрінің мәнін тексеру кезінде{{{catname}}}«содан кейін функция {{lc: ___}} салыстыру кезінде бірден кіші мәтінге түрлендіру үшін қолданыла алады. Мәні {{{catname}}} кейін пайдалану үшін өзгертілмейді, оның орнына ол тек кіші әріптермен салыстырылады.
{{#ifeq: {{{n}}} | 1 | дара | көпше}}→ көпше (Көптеген тілдерге, оның ішінде ағылшын тіліне, {{Көпше| lang = xx | {{{n}}} | жекеше | көпше }} дәл эквивалент).
Қолдану #ifexpr
Қолдану #ifexpr математикалық формуланы немесе бірнеше шартты тексере алады #ifexpr бағалайды математикалық өрнек немесе логикалық өрнек және нәтиженің логикалық шын / жалған мәніне байланысты тармақтар (мұнда нөл дегенді білдіреді) жалған):
:{{#ifexpr: өрнек | егер шын болса, мән | жалған болса, мән }}
Мысалдар:
{{#ifexpr: ({{{1}}} + {{{2}}}) * 2.63> 45 | 45-тен жоғары | 45-тен жоғары емес}}{{#ifexpr: {{{1}}}> 0 және {{{1}}} <1.0 немесе {{#ifeq: {{{decimal}}} | иә}} | ондық | ондық емес}}
The өрнек нәтиже функциясы сияқты дәл бағаланады #expr, сол операторлар қол жетімді. Содан кейін нәтиже логикалық өрнек ретінде бағаланады.
Бос енгізу өрнегі жалғанға бағаланады:
{{#ifexpr: | иә | жоқ}}→ жоқ
Жоғарыда айтылғандай, нөл жалғанға, ал нөлдік емес мән (мысалы, 6,7) шынға бағаланады.
Жарамсыз деректер қате туралы хабарды көрсетеді. Алайда, функция #ifexpr қолдануға тең #ifeq бірге #expr ішінде, бірақ шын / жалған (онда / басқа) сөйлемдерді аудару:
{{#ifeq: {{#expr: өрнек }} | 0 | жалған болса, мән | егер шын болса, мән }}
Жарамсыз немесе қате енгізілген өрнек шын мәніндегі бөлікті іске қосады (қате туралы хабар қарапайым жол ретінде қарастырылады; ол нөлге тең емес, сондықтан біз аламыз жалған болса, мән).
{{#ifexpr: = | иә | жоқ}}→ Өрнек қатесі: күтпеген = оператор{{#ifeq: {{#expr: =}} | 0 | иә | жоқ}}→ жоқ
Қайтарылатын мәндердің екеуі де, екеуі де алынып тасталуы мүмкін; тиісті филиал бос қалғанда ешқандай нәтиже берілмейді:
{{#ifexpr: 1> 0 | иә}}→ иә{{#ifexpr: 0 = 0 | иә}}→ иә{{#ifexpr: 1> 0 | | жоқ}}→
Кеңес Күндерге негізделген салыстыруларды тексеру үшін (егер ағымдағы күн мен уақыт басқа күн мен уақыттан кейін болса), алдымен функцияны пайдаланып уақытты 1970 жылдың 1 қаңтарынан кейінгі секундтар санына ауыстырыңыз. {{# уақыт: U}}, содан кейін жай күндерді қосып, алып тастаңыз. |
Қолдану # ауыстыру
The # ауыстыру функциясы мәнге байланысты ондаған немесе жүздеген түрлі жолдарға тармақталуы мүмкін, а ретінде әрекет етеді іс мәлімдемесі баламалардың ішінен таңдайды. A # ауыстыру өрнек - бұл параметр үшін бірнеше код мәндерін басқарудың жылдам тәсілі, лоттарды қолданбай # егер функциялар; дегенмен, өнімділік 100-ден көп филиалдарда баяулайды, және 3х-8х жылдамырақ жүгіру үшін жалпы мәндерді таңдау арасында жоғары қою керек. Сирек жағдайларда, а # ауыстыру екі мыңнан астам филиалға ие болуы мүмкін, бірақ барлық филиалдарды сканерлеуге, тіпті мәндерді салыстыруға дейін уақыт қажет.
The # ауыстыру функциясы бір жолды форма болуы мүмкін:
{{# ауыстыру: {{{х}}} | 1 = бір | 2 = екі | 3 | 4 | 5 = 3-5 ауқымы | басқалары}}Бұл бір жол # ауыстыру мәнін оқитын еді {{{x}}}. 1 мәні үшін ол «бір» мәнін береді. 2 мәні үшін ол «екі» мәнін береді. 3, 4 немесе 5 мәндері үшін ол «3-5 аралығында» шығады. Кез-келген басқа мән немесе нөл мән үшін ол «басқасын» қайтарады.
Алайда, көптеген жағдайларда # ауыстыру функция - бұл көп жолды форма, әр тармақ әр түрлі жолда, келесідей:
{{# ауыстыру: {{{х}}} | 1 = бір | 2 = екі | # әдепкі = басқа | 3 | 4 | 5 = кез келген 3-5 | {{#expr: 2 * 3}} = алты | {{#expr: 2 * 3 + 1}} = {{lc: SEVEN}} <!- қызыл сөз ->}}Бұл әдепкі жағдайды көрсетудің баламалы әдісін көрсетеді, ол бірінші, соңғы немесе кез келген жерде пайда болуы мүмкін.
Егер әдепкі мән көрсетілмесе және берілген мәнге сәйкес келетін жағдай болмаса, нөл мән қайтарылады.
А-ның әр тармағы үшін # ауыстыру, «=» теңдік белгісінің екі жағы қарапайым мән, өрнек немесе шаблон қоңырауы болуы мүмкін.
Қараңыз: Анықтама: талдауыш функциясын ауыстыру, толық сипаттама және мысалдар үшін.
Қолдану # қателік
Қолдану # қателік өрнек мәні қате тудыратындығын тексере алады, содан кейін осы шарт үшін бірдеңе жасайды, әйтпесе ол тексеріліп жатқан мәнді көрсетеді.
Бұл функция кіріс жолын қабылдайды және екі нәтиженің бірін қайтарады; функция бағалайды шын егер енгізу жолында HTML нысаны болса class = «error», шаблон циклдар және рекурсиялар сияқты қателер және басқа «failsoft» талдаушының қателіктері:
{{#iferror: сынақ жолы | қате болса, мән | дұрыс болса, мән }} (сынақ жолында талдаушының қателігі туындағанына байланысты мәнді таңдайды).
Қайтару жолдарының біреуін немесе екеуін қалдыруға болады. Егер дұрыс жол алынып тасталса, қате болмаса, сынақ жолы қайтарылады. Егер қате жолы алынып тасталса, бос жол қатеге қайтарылады:
{{#iferror: {{#expr: 1 + 2}} | қате | дұрыс}}→ дұрыс{{#iferror: {{#expr: 1 + X}} | қате | дұрыс}}→ қате{{#iferror: {{#expr: 1 + 2}} | қате}}→ 3{{#iferror: {{#expr: 1 + X}} | қате}}→ қате{{#iferror: {{#expr: 1 + 2}}}}→ 3{{#iferror: {{#expr: 1 + X}}}}→ {{#iferror: {{#expr:. }} | қате | дұрыс}}→ дұрыс{{#iferror: a | қате | дұрыс}}→ қате
Қолдану # өміршең
Функция # өміршең парақтың атауы немесе кескін / медиа файлының бар-жоғын тексере алады. Бұл өте жылдам, бірақ бір параққа 500 данамен шектелген.
{{#ifexist: парақтың тақырыбы | бар болса, мән | жоқ болса, мән }} (парақтың тақырыбына байланысты мәнді таңдайды)
Функция келесіге қарай бағаланады шын егер ол бар болса, мазмұны бар болса да, көзге көрінбейтін бос (санат сілтемелері немесе сияқты метамәліметтерді қамтиды) сиқырлы сөздер, бірақ көрінетін мазмұн жоқ), бос немесе а қайта бағыттау. Тек қайта сілтелген беттер бағаланады жалған, оның ішінде бет бұрын болған, бірақ жойылған болса.
Қолдану #expr
Қолдану #expr математикалық немесе логикалық өрнекті бағалай алады, салыстыруды күшейтеді және қате туралы хабарламаны өңдейді.
{{#expr: өрнек }}
Мысалдар:
{{#expr: ({{{1}}} + {{{xshift}}} - 6) * 18.4}}{{#expr: ln (7) ^ 3 - abs (-0.344) + қабат (5/3) 3 айналым}}{{#expr: {{{n}}}> 0 және {{{n}}} <1.0}}
Шаблондарға арналған шартты шарттар
Үлгі параметрін (мысалы, {{{1}}}) бір жағынан анықталған және бос емес, немесе екінші жағынан анықталмаған немесе бос деп айыру үшін #if: бос әдепкі мәнін қолданыңыз:
{{#if: {{{param |}}} | парам анықталған және бос емес | парам анықталмаған немесе бос}}.Анықталған (және бос болуы мүмкін) мен анықталмағанды ажырату үшін келесі әрекеттерді қолданыңыз:
{{#ifeq: {{{param | +}}} | {{{param | -}}} | парам анықталған | парам анықталмаған}}.Сондай-ақ қараңыз
- Анықтама: шартты кестелер
- mw: Анықтама: Кеңейту: ParserFunctions, MediaWiki.org сайтындағы техникалық көмек парағының ұзағырақ және көбірек болуы
- Шартты (компьютерлік бағдарламалау)
- Реляциялық оператор
- Анықтама: Үлгі және Уикипедия: шаблонның құм жәшігі және сынақ жағдайлары
- m: Анықтама: Кеңейтілген шаблондар
- Санат: Егер болса, онда шаблондар
- {{Тең}}