WikiDer > Анықтама: талдаушы функциясын ауыстыру - Википедия
Бұл анықтама беті қалай басшылыққа алу керек. Онда Уикипедия нормалары мен тәжірибелерінің кейбір аспектілері (процедуралары) бойынша процедуралар немесе процедуралар егжей-тегжейлі көрсетілген. Бұл біреу емес Википедия ережелері немесе нұсқаулары, және әр түрлі деңгейлерді көрсетуі мүмкін консенсус және тексеру. |
The ауыстырғыштың функциясын ауыстыру, «деп кодталған# ауыстыру«, таңдау тізімінде бірінші сәйкес келетін тармақты таңдайды, а іс мәлімдемесі.
Әрбір филиал а болуы мүмкін мәні, an өрнек (есептеу) немесе а шаблон қоңырау шалу,[1] коммутатордың мәніне сәйкес бағаланады және салыстырылады. Көптеген # ауыстырғыш құрылымдар қарапайым мәндер жиынтығы арасында таралу үшін қолданылғанымен, бұтақтар да қамтуы мүмкін логикалық өрнектер ретінде әрекет ете отырып, сыналғанға дейін тексерілетін алдын-ала шарттардың жиынтығы ретінде әрекет ету if-elseif-elseif-elseif-else құрылым. Ауыстырғыш мәні а ретінде салыстырылады таңба жолы, сан емес, сондықтан «5» «5.00» -ке сәйкес келмейді, егер ол сияқты салыстырылмаса «{{#expr: {{{1 | 5.00}}} & nbsp;}}» (= «5»).
# Ауыстырып қосқышта 1000-нан астам тармақ болуы мүмкін, бірақ жылдамдықты жоғарылату үшін бірнеше немесе ұяшық бөліктердің әрқайсысында 100-ден аз тармақтар болуы керек. Жоғарғы тармақтар тезірек орындалады, ал төменгі бұтақтар барлық жоғары тармақтардың салыстыруын күтуі керек. Себебі бұл талдауыш функциясы, # ауыстырғышты кез-келген парақтың ішінде, тіпті мақала мәтінінде де қолдануға болады, бірақ көп жағдайда # ауыстырып қосқыш шаблонтармағына байланысты а параметр шаблонға берілген мән.
Жалпы формат
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}} <!- қызыл сөз ->}}Бұл әдепкі жағдайды көрсетудің баламалы әдісін көрсетеді, ол бірінші, соңғы немесе кез келген жерде пайда болуы мүмкін.
Егер әдепкі мән көрсетілмесе және берілген мәнге сәйкес келетін жағдай болмаса, нөл мән қайтарылады.
А-ның әр тармағы үшін # ауыстыру, «=» теңдік белгісінің екі жағы қарапайым мән, өрнек немесе шаблон қоңырауы болуы мүмкін.
Қосқыштарды if-elseif-elseif ретінде пайдалану
# Ауыстырғыш функциясы шындық болғанға дейін тексерілетін алдын-ала шарттар жиынтығы ретінде құрылымдалуы мүмкін («1» -ге тең). Мысалы, нөлге бөлінбеу үшін сандарды алдын-ала экранға шығару үшін мына формулада: '«» UNIQ - postMath-00000001-QINU «»':
{{# ауыстыру: 1| {{#ifeq: {{{x2 | none}}} | none | 1 | 0}} = x2 параметрінде деректер жоқ.| {{#ifeq: {{{y2 | none}}} | none | 1 | 0}} = y2 параметрінде деректер жоқ.| {{#expr: {{{x2}}} = 0}} = x2 параметрі 0 - бөлуге болмайды.| {{#expr: {{{y2}}} = 0}} = y2 параметрі 0 - бөлуге болмайды.| 1 = {{#expr: {{{x}}} / {{{x2}}} + {{{y}}} / {{{y2}}}}}}}
X2 және y2 тестілеу кезінде, егер олардың кез-келгені нөлге тең болса (жоқ), онда # ауыстырып-қосқыш ескерту хабарламасымен аяқталады, керісінше орташа өлшенген x, y, x2 және y2 қосындыларының екеуі. Әр тармақ алдын-ала шарт ретінде әрекет етеді, сондықтан # ауыстырып қосқыш құрылымы балама ретінде орындайды if-elseif-elseif-elseif-else, # if-function құрылымында «elseif» сөйлемі бола алмаса да. Салыстырылған мәліметтердің 2 түріне назар аударыңыз:
- Әріптік мәліметтер: Альфа таңбасының жолын
# ауыстырупайдалану арқылы#ifeq:келесідей: {{#ifeq: {{{x2 | none}}} | none | 1 | 0}},
мұндағы нәтиже шын болған кезде «1» немесе жалған болған кезде «0» болады. - Сандық деректер: Кейбір сандарды салыстыруға болады
# ауыстырупайдалану арқылы#expr:келесідей: {{#expr: {{{y2}}} = 0}} немесе {{#expr: {{{x}}} <41500}},
мұндағы әрбір нәтиже шын болған кезде «1» немесе жалған болғанда «0» болады.
Тағы бір мысал, ондық цифрлардың санын анықтау үшін «n» мөлшерін тексеру:
{{# ауыстыру: 1| {{#expr: қабат ({{{n}}} * 100) <> {{{n}}} * 100}} = 3| {{#expr: қабат ({{{n}}} * 10) <> {{{n}}} * 10}} = 2| {{#expr: қабат ({{{n}}}) <> {{{n n}}}}} = 1| {{#expr: {{{n}}} mod 1000 = 0}} = −3| {{#expr: {{{n}}} mod 100 = 0}} = −2| {{#expr: {{{n}}} mod 10 = 0}} = −1| 1 = 0}}
Бұл тағы бір мысал, «#switch: 1» көмегімен алдын ала шарттар жиынтығын бірізділікке («1» -ге тең) дейін дәйекті түрде жинақтау үшін.
Өнімділікті ескеру
# Ауыстырып қосқышта 1000–2000-нан астам тармақ болуы мүмкін, бірақ бірнеше тармақталған немесе ұяшықтан тұратын 100-ден аз филиалға бөлінуі керек. Кейбір жағдайларда бірнеше # ауысу құрылымына бөлуге болады, мысалы көптеген жағдайларда бірдей бірінші әріпті қолданғанда. Содан кейін, {{padleft: | 1 | {{{value}}}}} көмегімен {{{value}}} бірінші әрпін жоғары # ауыстырғышта қолдануға болады, содан кейін олар жиі кездесетін әріптермен тармақталады. төменгі жағындағылардың барлығы немесе «# әдепкі» филиалы. Тағы бір жалпы бөліну сандық мәндерді жиі диапазонға бөлу, содан кейін барлық басқа болуы мүмкін.
# Ауыстырғыштың жоғарғы тармақтары тезірек орындалады, ал төменгі тармақтар барлық жоғары тармақтардың салыстыруларын күтуі керек. Демек, егер бұтақтардың алдын-ала зерттелуі жасалмаса, жоғарғы тармақ ең көп қолданылатын жағдай болуы керек.
Сондай-ақ қараңыз
- Уикипедия: Талдаушы функциясы
- Анықтама: шартты өрнектер
- Реляциялық оператор
- Анықтама: Сиқырлы_сөздер # Айнымалылар
- ^ A шаблон қоңырауы (сонымен бірге шаблон тегі) шаблон бетінің екі жағында екі «жақша» бар және «Үлгі:» префиксін қамтымайды. Модульдегі Lua қатесі: 111-жолдағы Template_link_general: жергілікті 'titlePart' тізбегін біріктіру әрекеті (нөл мәні). жұмыс істейді, бірақ «Үлгі:» қажет емес. Нәтижесі «
{{...}}".