Pastaba.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti prisijungti arba pakeisti katalogus.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti pakeisti katalogus.
"Power Fx" yra žemo kodo kalba, kurią Microsoft Power Platform naudoja. Tai universalus, labai įvestas, aprašomasis ir funkcinio programavimo kalba.
Power Fx yra išreikšta žmonėms draugišku tekstu. Tai yra mažai kodų naudojanti kalba, su kuria formuotojai gali dirbti tiesiogiai į „Excel” panašioje formulių juostoje arba „Visual Studio Code” teksto lange. Žemas žemas kodas yra iš glausto ir paprasto kalbos pobūdžio, todėl bendrosios programavimo užduotys lengvai tiek kūrėjams, tiek kūrėjams. Ji leidžia visą spektrą plėtros iš be kodo tiems, kurie niekada programuojamas iki "pro-code" už patyręs profesionalus, be mokymosi ar perrašyti uolos tarp. Įvairios komandos gali bendradarbiauti ir sutaupyti laiko bei išlaidų.
Pastaba.
- „Microsoft“ Power Fx yra naujas formulių kalbos, skirtos drobės programoms, pavadinimas Power Apps. Ši apžvalga ir susiję straipsniai vyksta, nes „Microsoft“ išskleidžia kalbą iš drobės programų, integruoja ją su kitais Microsoft Power Platform produktais ir tampa pasiekiama kaip open source. Norėdami sužinoti daugiau ir įgyti patirties su šiandienine kalba, pradėkite su Pradėti su formulėmis drobės programose dokumentuose Power Apps ir nemokamai prisijungti prie Power Apps bandomosios versijos.
- Šiame straipsnyje kūrėjai nurodo vartotojus , kurie gali naudoti funkciją bet kuriame programavimo įgūdžių spektro gale. Kūrėjai nurodo vartotojus, kai funkcija yra sudėtingesnė ir greičiausiai nepatenka į įprasto Excel vartotojo aprėptį.
Power Fx susieja objektus kartu su deklaratyviomis į skaičiuokles panašiomis formulėmis. Pavyzdžiui, laikykime UI valdiklio ypatybę Matoma kaip „Excel” darbalapio langelį su susijusia formule, kuri suskaičiuoja jo reikšmę, remdamasi kitų valdiklių ypatybėmis. Formulės logika perskaičiuoja reikšmę automatiškai, panašiai kaip ir skaičiuoklė, o tai turi įtakos valdiklio matomumui.
Taip pat, Power Fx pasiūlo imperatyvo logiką, kai tai reikalinga. Darbalapiuose įprastai nėra mygtukų, kuriuos naudojant galima pateikti keitimus duomenų bazei, tačiau programose tokie mygtukai yra. Ta pati išraiškos kalba naudojama tiek deklaratyviai, tiek imperatyvo logikai.
„Microsoft“ bus power fx prieinama kaip atvirojo kodo programinė įranga. Šiuo metu ji integruota į drobės programas ir „Microsoft“ išgauna ją iš Power Apps, kad ją būtų galima naudoti kituose Microsoft Power Platform produktuose ir kaip open source. Daugiau informacijos: „„Microsoft“ Power Fx” naudojimas „GitHub”
Šiame straipsnyje apžvelgiama kalba ir jos kūrimo principai. Norėdami sužinoti daugiau apie Power Fx, perskaitykite šiuos straipsnius:
- Duomenų tipai
- Veiklos vykdytojai ir identifikatoriai
- Lenteles
- Kintamųjų
- Imperatyvi logika
- Visuotinis palaikymas
- Išraiškos gramatika
- YAML formulės gramatika
Pasvarstymai apie skaičiuoklę
O kas jeigu galėtumėte sukurti programą taip pat lengvai, kaip ir „Excel” darbalapį?
O kas jeigu galėtumėte pasinaudoti jau turimomis skaičiuoklės žiniomis?
Šie klausimai įkvėpė Power Apps ir "Power Fx" kūrimą. Šimtai milijonų žmonių sukuria darbalapius su Excel kiekvieną dieną. Paimkime jiems programėlių kūrimą, kuris yra paprastas ir naudoja Excel sąvokas, kurias jie jau žino. Atskyrę Power Fx iš Power Apps, mes atsakyme į šiuos klausimus apie kūrimo automatizavimą arba „Virtual Agent” ar kitus domenus.
Visos programavimo kalbos, įskaitant Power Fx, turi išraiškas: būdą skaičiavimą atspindėti skaičiais, eilutėmis arba kitų tipų duomenimis. Pavyzdžiui, mass * acceleration daugelyje kalbų išreiškia mass ir acceleration sudauginimą. Reiškinio rezultatą galite įtraukti į kintamąjį, naudoti jį kaip procedūros argumentą arba įdėti į didesnį reiškinį.
Power Fx žengia žingsniu toliau. Išraiška savaime nesako nieko apie tai, ką ji apskaičiuoja. Nuo formuotojo priklauso, ar ji bus įdėta į kintamąjį ar perkelta į funkciją. Programojė Power Fx, užuot rašę tik konkrečios reikšmės neturinčią išraišką formulę kuri susieja išraišką su indentifikatoriumi. Jūs rašote force = mass * acceleration kaip force apskaičiavimo formulę. Keisdami massforce automatiškai acceleration naujinkite naują reikšmę. Išraiška apibūdino skaičiavimą, o formulė suteikė tam skaičiavimui pavadinimą ir panaudojo jį kaip receptą. Štai todėl Power Fx kaip formulių kalba.
Pavyzdžiui, ši formulė iš Rietuvės perpildos ieško eilutės atvirkštine tvarka. „Excel” programoje tai atrodo kaip šis vaizdas.
„Excel” formulių juostos su formule =RIGHT(A1,LEN(A1)- FIND("|", SUBSTITUTE(A1," ","|", LEN(A1)-LEN(SUBSTITUTE(A1," ","")))) ekrano kopija Langelyje A1 yra tekstas „Labas, pasauli! Su jumis puikiai susipažinti!" Langelyje A2 yra tekstas "jūs!"
Power Fx dirba su ta pačia formule, o langelio nuorodos pakeistos valdiklio ypatybės nuorodomis:
Formulės juostos Power Fx momentinė ekrano nuotrauka Power Apps. Žemiau =RIGHT(Input.Text,Len(Input.Text)- FIND("|", SUBSTITUTE(Input.Text," ","|", Len(Input.Text)-Len(Substitute(Input.Text," ","")))) formulės esančiame įvesties lauke yra tekstas „Labas, pasauli! Labai su jumis susipažinkite!", – laišką su laišku. Tuo pačiu metu Žymos lauke pasirodo paskutinio žodžio raidės. Kai Įvesties lauke pasirodo pilnas tekstas, žodis „jumis!” pasirodo Žymos laukelyje.
Pasikeitus valdiklio Input reikšmei, Label valdiklis automatiškai perskaičiuoja formulę ir rodo naują reikšmę. Čia nėra OnChange įvykio apdorojimo programų, kaip įprasta kitose kalbose.
Kitame pavyzdyje naudojama ekrano spalvos formulė Fill . Pakeitus raudoną, žalią ir mėlyną slankiklius, perskaičiuojant fono spalva automatiškai pasikeičia.
Nėra slankiklio valdiklių OnChange įvykių, kaip įprasta kitose kalbose. Nėra jokio būdo tiesiogiai nustatyti Fill ypatybės reikšmę. Jei spalva neveikia taip, kaip tikėjotės, turite peržiūrėti šią vieną formulę, kad suprastumėte, kodėl ji neveikia. Jums nereikia ieškoti visoje programoje, kad surastumėte kodo dalį, nustatančią ypatybę netikėtu laiku; nėra laiko elemento. Visada išlaikomos teisingos formulės reikšmės.
Kai slankikliai nustatomi į tamsią spalvą, raudonos, žalios ir mėlynos spalvų žymos pasikeičia į baltą spalvą. Šis pakeitimas atliekamas naudojant paprastą kiekvieno žymos valdiklio Color ypatybės formulę.
Gera šios formulės funkcija yra ta, kad ji atskirta nuo to, kas vyksta Fill su spalva: tai du visiškai skirtingi skaičiavimai. Vietoj didelių monolitinių procedūrų, Power Fx logika įprastai susideda iš daugybės savarankiškų mažesnių formulių. Ši struktūra padeda lengviau suprasti ir įgalina patobulinimus netrikdydama esamos logikos.
Power Fx yra deklaratyvi kalba, kaip ir „Excel”. Formuotojas apibūdina, kokio elgesio nori, tačiau sistema nustato ir optimizuoja, kaip ir kada tai pasiekti. Kalbant praktiškai, didelė dalis darbo padaroma grynomis funkcijomis be šalutinio įsikišimo, o tai daro Power Fx funkcine kalba (vėl, kaip ir „Excel”).
Visada dinamiškai
Apibrėžiantis darbalapių aspektas yra tas, kad jie visada yra dinamiški, o pakeitimai atspindimi iškart. Darbalapyje nėra kompiliavimo arba vykdymo režimo. Kai modifikuojate formulę arba įvedate reikšmę, darbalapis iš karto perskaičiuoja, kad atspindėtų pakeitimus. Visos aptiktos klaidos iš karto atsiranda ir netrukdo likusiai darbalapio dalis.
"Power Fx" įgyvendina tą patį dalyką. Jis naudoja papildantįjį kompiliatorių, kad nuolat sinchronizuotų programą su duomenimis, kuriuose ji veikia. Keitimai automatiškai išplatinti programos grafike, o tai turi įtakos priklausomų skaičiavimų rezultatams. Šie skaičiavimai gali paskatinti valdiklių ypatybes, pvz., spalvą arba padėtį. Papildantysis kompiliatorius taip pat suteikia turiningą formulės redagavimo patirtį naudojant „IntelliSense”, pasiūlymus, automatinis užbaigimą ir tipo patikrą.
Tolesnėje animacijoje užsakymo numeris rodomas etiketės valdiklyje, priklausančiame nuo slankiklio valdiklio, nors po juo esančioje etiketėse yra dvi klaidos. Programa yra labai dinamiška ir interaktyvi. Pirmasis bandymas išspręsti problemą įvedant .InvalidName lemia iškart rodomą raudoną liniją ir klaidą, kaip ir turėtų būti, tačiau programa tebeveikia.
Kai įvedate .Employee, Data sritis įtraukia lentelę Darbuotojai, nuskaito šios lentelės metaduomenis ir iš karto pateikia stulpelių pasiūlymus. Ką tik perėjote per ryšį iš vienos lentelės į kitą ir sistema atliko reikiamus taikomosios programos nuorodų koregavimus. Taip pats nutinka ir įtraukiant .Customer.
Po kiekvieno pakeitimo slankiklis dirba toliau su savo paskutine reikšme, o visi kintamieji išsaugo savo reikšmę. Visoje srityje užsakymo numeris ir toliau bus rodomas viršutinėje etiketėje, kaip turėtų. Programėlė veikia tiesiogiai, visą laiką apdoroja tikrus duomenis. Galite ją įrašyti, nueiti, o kiti gali ją atidaryti ir naudoti taip, kaip Excel. Nėra komponavimo versijos veiksmo, kompiliavimo, yra tik publikavimo veiksmas, skirtas nustatyti, kuri programos versija yra paruošta vartotojams.
Mažai kodų
Power Fx apibūdina veiklos logiką glaustomis, bet galingomis formulėmis. Dauguma logika sumažina iki vienos linijos, su daug išraiškingumo ir kontrolės sudėtingesnių poreikių. Tikslas yra išlaikyti iki minimumo skaičių sąvoką, kurį turi suvokti formuotojas, skaičių, idealiu atveju ne didesnį nei „Excel” vartotojas jau žinotų.
Pavyzdžiui, jei užsakymui norite peržiūrėti darbuotojo vardą, rašykite Power Fx taip, kaip parodyta tolesnėje animacijoje. Be „Excel” sąvokų, vienintelis įtrauktas čia naudojamas konceptas yra taško „.” notacija, kuri yra skirta detalizuoti duomenų struktūrai, šiuo atveju .Employee.'First Name'. Animacijoje rodomas susiejimas tarp Power Fx formulės dalių ir sąvokų, kurias reikia tiesiogiai koduoti lygiaverčiame „JavaScript”.
Pažvelkime išsamiau į visus dalykus, kad Power Fx daro mums ir laisvės ji turi optimizuoti, nes formulė yra deklaratyvus:
Asinchroninis: visos duomenų Power Fx operacijos yra asinchroninės. Formuotojui nereikia to nurodyti, taip pat jam nereikia ir sinchronizuoti operacijų pasibaigus skambučiui. Formuotojui visai nereikia žinoti apie šią sąvoką, jam nereikia žinoti, kas yra „pažado” ar „lambda” funkcija.
Vietinis ir nuotolinis: Power Fx naudoja tą pačią sintaksę ir funkcijas duomenims, kurie yra vietiniai atmintyje ir nuotoliniu būdu jungia duomenų bazę arba tarnybą. Vartotojui nereikia galvoti apie šį skirtumą. Power Fx automatiškai perduoda tai, ką gali, į serverį dėl efektyvesnio filtravimų ir rūšiavimų apdorojimo.
Sąryšiniai duomenys: užsakymai ir klientai yra dvi skirtingos lentelės su ryšiu "daugelis su vienu". „OData” užklausai reikalingas „$expand” su žiniomis apie išorinį raktą, panašiai į funkciją Prisijungti SQL platformoje. Formulėje viso to nėra; tiesą sakant, duomenų bazės raktai yra kita sąvoka, apie kurią formuotojui nėra būtina žinoti. Formuotojas paprasčiausiai gali naudoti taško notaciją pasiekti visam ryšių grafui iš įrašo.
Projekcija: Rašydami užklausą, daugelis kūrėjų rašo
select * from table, o tai grąžina visus duomenų stulpelius. Power Fx analizuoja visus stulpelius, naudojamus per visą programą, net ir visose formulės priklausomybėse. Projektavimas yra automatiškai optimizuojamas ir, dar kartą, formuotojui nereikia žinoti, ką reiškia „projektavimas”.Gauti tik tai, ko reikia: šiame pavyzdyje funkcija reiškia, kad reikia nuskaityti tik vieną įrašą ir tai yra viskas,
LookUpkas grąžinama. Jeigu užklausiama daugiau įrašų naudojantFilterfunkcija—kurią atitikti gali tūkstančiai įrašų vienu metu grąžinamas tik vienas užsakymo duomenų puslapis su 100 įrašų viename puslapyje. Vartotojas turi gestuoti galeriją arba duomenų lentelę, kad matytų daugiau duomenų, ir automatiškai pateikia jiems daugiau duomenų. Formuotojas gali pagrįsti didelius duomenų rinkinius ir negalvoti apie duomenų užklausų ribojimą iki valdomų segmentų.Veikia tik tada, kai reikia: apibrėžiate etiketės valdiklio ypatybės formulę
Text. Keičiantis pasirinktam kintamajam,LookUpyra automatiškai perskaičiuojamas, o žyma atnaujinama. Formuotojui neprireikė rašyti „OnChange” apdorojimo programos pasirinkimui, jam taip pat nereikėjo prisiminti, kad nuo to priklauso žyma. Tai yra deklaratyvusis programavimas, aprašytas anksčiau: formuotojas nurodo, ką nori matyti žymoje, bet ne kaip, ar kada ji turi būti iškviesta. Jei ši žyma nematoma, nes ji yra nematomame ekrane arba josVisibleypatybė yra klaidinga, galite atidėti šį skaičiavimą, kol etiketė bus matoma, ir efektyviai ją pašalinti, jei taip retai nutinka.Excel sintaksės vertimas : daugelis vartotojų žino, kad ampersendas (& ) naudojamas eilučių sujungimo Excel. JavaScript naudoja plius prisijungimą (+), ir kitas kalbas kaip tašką (.).Rodomi pavadinimai ir lokalizacija:
First Namenaudojama formulėje, Power Fx onwind_firstnamenaudojama "JavaScript" ekvivalentu. Be unikalaus loginio pavadinimo, „Microsoft Dataverse” ir „SharePoint” yra stulpelių ir lentelių rodomas pavadinimas. Rodomi pavadinimai dažnai yra daug patogesni vartotojui, kaip šiuo atveju, tačiau jie turi kitą svarbią savybę – juos galima lokalizuoti. Jei turite daugiakalbę komandą, kiekvienas komandos narys gali matyti lentelių ir laukų pavadinimus savo kalba. Visais naudojimo atvejais Power Fx užtikrina, kad teisingas loginis pavadinimas būtų automatiškai nusiunčiamas į duomenų bazę.
Jokio kodo
Jums nereikia skaityti ar rašyti "Power Fx", kad pradėtumėte išreikšti logiką. Galite išreikšti daug tinkinimų ir logikos naudodami paprastus jungiklius ir vartotojo sąsajos darykles. Šie ne kodo įrankiai yra pastatytas skaityti ir rašyti Power Fx, todėl yra daug headroom kažkas imtis jį toliau. Tačiau be kodo įrankiai niekada nesiūlo visos kalbos išraiškos. Net jei naudojate ne kodo darykles, formulės juosta yra priekyje ir centre Power Apps šviesti kūrėją apie tai, kas daroma jų vardu, kad jie galėtų pradėti mokytis Power Fx.
Pažvelkime į kelis pavyzdžius. „Power Apps” ypatybių skyde pateikiami „jokio kodo” perjungikliai ir mygtukai, skirti valdiklių ypatybėms. Praktiškai, dauguma ypatybių reikšmių yra pastovios. Galite naudoti spalvos daryklę, jei norite pakeisti Gallery fono spalvą. Atkreipkite dėmesį, kad formulių juosta atspindi šį pakeitimą atnaujindama formulę į kitą RGBA skambutį. Bet kuriuo metu galite eiti į formulės juostą ir atlikti šį keitimą toliau – šiame pavyzdyje, naudodami ColorFade koreguoti spalvą. Spalvos ypatybė vis tiek rodoma ypatybių skyde, tačiau užvedus pelės žymeklį pasirodo „fx” piktograma ir esate nukreipiamas į formulių juostą. Tai visiškai veikia dviem būdais: pašalinus ColorFade, skambutis grąžina spalvą į tai, ką gali suprasti ypatybių juosta, o jūs galite tai panaudoti dar kartą spalvai nustatyti.
Štai sudėtingesnis pavyzdys. Galerijoje rodomas darbuotojų sąrašas iš „Dataverse”. „Dataverse” pateikia rodinius virš lentelės duomenų. Galite pasirinkti vieną iš šių rodinių ir formulė pasikeis, kad būtų naudojama funkcija su šiuo rodinio Filter pavadinimu. Galite naudoti du išplečiamuosius meniu, kad surinktumėte reikiamą lentelę ir vaizdą neliesdami formulės juostos. Tačiau tarkime, norite eiti toliau ir įtraukti rikiavimą. Galite įtraukti šią funkciją formulės juostoje, o ypatybių srityje vėl rodoma fx piktograma ir nurodomi formulės juostos pakeitimai. Ir dar kartą, jei supaprastinsite formulę, kad ypatybių sritis galėtų ją skaityti ir rašyti, ją galima naudoti.
Šie pavyzdžiai yra paprasti. "Power Fx" suteikia puikią kalbą, apibūdinančią be kodo sąveiką. Tai glausta, galinga ir paprasta analizuoti. Jis suteikia galvos lanką, kuris taip dažnai reikalingas su "be uolų" iki žemo kodo.
Pro kodas
Žemo kodo kūrėjai kartais kuria sprendimus, kuriems reikia specialisto pagalbos arba kuriuos perima profesionalus kūrėjas, kad išlaikytų ir patobulintų. Profesionalai taip pat vertina, kad kūrimas su mažai kodų gali būti lengvesnis, greitesnis ir mažiau kainuojantis nei profesionalaus įrankio kūrimas. Ne kiekvienai situacijai reikalingas pilnas „Visual Studio” pajėgumas.
Profesionalai nori naudoti profesionalius įrankius dėl didžiausio produktyvumo. "Power Fx" formules galite saugoti YAML šaltinio failuose, kuriuos lengva redaguoti naudojant Visual Studio Code, Visual Studio ar bet kurią kitą teksto rengyklę. Išsaugojus formules YAML failuose galima "Power Fx" kontroliuoti šaltinį naudojant GitHub, Azure DevOps ar kitą šaltinio kodo valdymo sistemą.
Power Fx palaiko formule pagrįstus komponentus bendrinimui ir pakartotiniam naudojimui. Ji palaiko parametrus komponento ypatybėms, įgalinančią kurti grynas vartotojo apibrėžtas funkcijas su daugiau patobulinimų.
Be to, Power Fx puikiai sujungia į visumą komponentus ir profesionalų sukurtas paslaugas. Paleidimo jungtys suteikia prieigą prie šimtų duomenų šaltinių ir žiniatinklio tarnybų. Pasirinktinės jungtys įgalina "Power Fx" kalbėtis su bet kokia REST žiniatinklio tarnyba. Kodo komponentai leidžia "Power Fx" sąveikauti su visiškai pasirinktiniu "JavaScript" ekrane ir puslapyje.
Kūrimo principai
Paprastumas
"Power Fx" skirta nukreipti kūrėjų auditoriją, kurios nariai nėra apmokyti kaip kūrėjai. Kai tik įmanoma, kalba naudoja žinias, kurias auditorija jau žino arba gali greitai įgyti. Išlaikomas minimalus skaičius sąvokų, kurios yra būtinos sėkmei.
Paprastumas taip pat yra gerai kūrėjams. Dėl kūrėjų auditorijos, Power Fx siekiama būti žemo kodo kalba, kuri sumažina laiką, reikalingą siekiant sukurti sprendimą.
„Excel” nuoseklumas
„„Microsoft“ Power Fx” kalba daug skolinasi iš „Excel” formulių kalbos. Jis naudoja Excel žinias ir patirtį iš daugelio kūrėjų, kurie taip pat naudoja Excel. Tipai, operatoriai ir funkcijų semantika yra kaip įmanoma artimesni „Excel”.
Jei Excel neturi atsakymo, "Power Fx" toliau peržiūri SQL. Po „Excel”, SQL yra antra dažniausiai naudojama deklaratyvi kalba, galinti suteikti pagalbos atlikti duomenų operacijas ir griežtą įvedimą, ko negali „Excel”.
Deklaratyvi
Formuotojas apibūdina tai, ką jie nori, jog jų logika darytų, bet ne tiksliai kaip ar kada tai daryti. Šis metodas leidžia kompiliatoriui optimizuoti lygiagrečias operacijas, atidėti darbą, kol to prireiks, iš anksto iškviesti ir pakartotinai naudoti talpykloje saugomus duomenis.
Pavyzdžiui, Excel darbalapyje autorius apibrėžia langelių ryšius, bet Excel nusprendžia, kada ir kokia tvarka įvertinti formules. Taip pat, atsižvelgdami į vartotojo veiksmus, duomenų bazės pakeitimus arba laikmačio įvykius, programoje formules galite galvoti kaip apie "perskaičiavimo" funkciją.
Funkcionalumas
Naudokite grynas funkcijas, kurios neturi šalutinių poveikių. Šis metodas pateikia logiką, kurią lengviau suprasti ir suteikia kompiliatoriams didžiausią laisvę optimizuoti.
Skirtingai nei Excel, programėlės dėl savo pobūdžio nutildys būseną. Pavyzdžiui, programėlės turi mygtukus, kurie įrašo įrašo pakeitimus duomenų bazėje. Kai kurios funkcijos, todėl, turi šalutinį poveikį, nors apriboti šiuos šalutinius poveikius tiek, kiek yra praktiška.
Kūrimas
Jei įmanoma, įtraukite funkcijų, kurios gerai dera su esamomis funkcijomis. Galite suskaidyti efektyvias funkcijas į mažesnes dalis, kurias galite lengviau naudoti atskirai.
Pavyzdžiui, Galerijos valdiklis neturi atskirų Sort ir Filter ypatybių. Vietoj to, kartu sukurkite Sort ir Filter funkcijas į vieną Items ypatybę. Galite sluoksniuoti vartotojo sąsają, kad galėtumėte išreikšti Sort ir Filter veikti ypatybės viršuje Items , naudodami dvikryptis šios ypatybės rengyklę.
Stiprūs tipai
Visų reikšmių tipai žinomi kompiliavimo metu. Šis metodas leidžia anksti aptikti klaidas ir raiškius pasiūlymus kūrimo metu.
Polimorfiniai tipai yra palaikomi, tačiau prieš naudodami juos, turite prisegti jų tipą prie statinio tipo ir šis tipas turi būti žinomas kompiliavimo metu. Funkcijos Ar tipas ir Kaip tipas yra pateikiamos tipų testavimui ir perdavimui.
Tipo išvada
Tipai yra išvedami iš jų naudojimo, jų nepaskelbiant. Pavyzdžiui, kintamojo nustatymas į skaičių lemia kintamojo tipo kaip skaičiaus nustatymą.
Dėl prieštaringų tipo naudojimo rezultatų įvyksta kompiliavimo laiko klaida.
Nuo vietovės priklausantys dešimtainiai skyrikliai
Kai kurie pasaulio regionai naudoja tašką ( „.”) kaip dešimtainį skyriklį, o kiti naudoja kablelį ( „,”). Excel laikosi šios regioninės konvencijos. Kitos programavimo kalbos paprastai naudoja kanoninį tašką (.) kaip dešimtainį skyriklį visiems vartotojams visame pasaulyje. Kad būtų kuo labiau prieinama visų lygių formuotojams, svarbu, kad 3,14 būtų dešimtainis skaičius žmogui Prancūzijoje, naudojusiam tokią sintaksę visą savo gyvenimą.
Dešimtainio skyriklio pasirinkimas turi pakopinį poveikį sąrašo skyrikliui, kuris naudojamas funkcijos iškvietimo argumentams, ir sujungimo į grandinę operatoriui.
| Autoriaus kalbos dešimtainis skyriklis | "Power Fx" dešimtainis skyriklis | "Power Fx" sąrašo skyriklis | "Power Fx" susiejamas operatorius |
|---|---|---|---|
| . (taškas) | . (taškas) | , (kablelis) | ; (kabliataškis) |
| , (kablelis) | , (kablelis) | ; (kabliataškis) | ;; (dvigubas kabliataškis) |
Daugiau informacijos: Visuotinis palaikymas
Orientuotas ne į objektą
Excel nėra orientuotas į objektą nei į Power Fx. Pavyzdžiui, kai kuriose kalbose eilutės ilgis yra išreiškiamas kaip eilutės ypatybė, tarkim, "Hello World".length „JavaScript” kalboje. Vietoj to, „Excel” ir „Power Fx” išreiškia ilgį kaip funkciją, pavyzdžiui, Len( "Hello World" ).
Komponentai su ypatybėmis ir metodais yra orientuoti į objektą ir Power Fx lengvai dirba su jais. Tačiau, jei įmanoma, labiau funkcinis požiūris.
Išplėtimas
Formuotojai gali kurti savo komponentus ir funkcijas naudodami patį Power Fx. Kūrėjai gali kurti savo komponentus ir funkcijas rašydami „JavaScript”.
Patogumas kūrėjams
Nors kūrėjai yra pagrindinis tikslas, stenkitės būti kūrėjams, kai tik įmanoma. Jei jis neprieštarauja anksčiau aprašytims dizaino principams, atlikite veiksmus taip, kaip vertina kūrėjas. Pavyzdžiui, Excel nėra galimybės įtraukti komentarų, todėl naudokite C tipo eilutės ir įdėtus komentarus.
Kalbos evoliucija
Programavimo kalbų vystymasis yra reikalingas ir sudėtingas. Visi, teisingai, yra sunerimę, kad net ir gerų ketinimus turintis pakeitimas gali sulaužyti esamą kodą ir vartotojams reikėtų išmokti naują modelį. "Power Fx" rimtai atsižvelgia į atgalinį suderinamumą, tačiau "Power Fx" komanda taip pat tvirtai tiki, kad jie ne visada gauna ją pirmą kartą ir kad bendruomenė gali bendrai sužinoti, kas geriausia. Programavimo kalba turi vystytis, o "Power Fx" buvo sukurta siekiant palaikyti kalbos raidą nuo pat pradžių.
Kiekvienas įrašytas "Power Fx" dokumentas turi kalbos versijos žymą. Jei "Power Fx" komanda nori atlikti nesuderinamą keitimą, rašo, ką vadina "atgalinio suderinamumo keitikliu", kuris automatiškai perrašo formulę, kai kitą kartą ji redaguojama. Jei keitimas yra svarbus, apie kurį komanda turi informuoti vartotoją, taikomoji programa rodo pranešimą su saitu į dokumentus. Naudojant šią priemonę, "Power Fx" vis dar gali įkelti programas, kurios buvo sukurtos su Power Apps peržiūros versijomis prieš daugelį metų, nepaisant visų pakeitimų, kurie įvyko nuo tada.
Pvz., "Power Fx" komanda pristatė ShowError funkciją, kad būtų rodoma klaidos juosta su raudonu fonu.
Vartotojai jį mylėjo, bet jie taip pat paprašė, kad būtų galima parodyti sėkmės reklaminę juostą (žalias fonas) arba informacinę juostą (mėlynas fonas). Taigi, komanda gavo bendresnę Notify funkciją, kuri paima antrą argumentą dėl pranešimo tipo. Komanda galėjo ką tik įtraukti ir išsaugoti ShowError taip, kaip buvo, tačiau vietoj to ji pakeista ShowErrorNotify.Notify Jie pašalino funkciją, kuri anksčiau buvo naudojama gamybai, ir pakeitė ją kažkuo kitu. Kadangi būtų buvę du būdai, kaip tai padaryti, šis pakeitimas būtų sukėlęs painiavos, ypač naujiems vartotojams, ir, svarbiausia, jis būtų buvęs sudėtingesnis. Niekas nesiskundė, visi įvertino pokytį ir tada perėjome prie savo kitos funkcijos Pranešti.
Taip atrodo ta pati programa, įkelta į naujausią „Power Apps” versiją. Vartotojui nereikėjo atlikti jokių veiksmų šiai transformacijai, ji įvyko automatiškai atidarius programą.
Naudodami šią priemonę, "Power Fx" gali vystytis greičiau ir agresyviau nei dauguma programavimo kalbų.
Jokių neapibrėžtų reikšmių
Kai kurios kalbos, pavyzdžiui, „JavaScript” naudoja neapibrėžtos reikšmės konceptą neinicijuotiems kintamiesiems arba trūkstamoms ypatybėms. Dėl paprastumo labui, Power Fx vengia šios koncepcijos. Atvejai, kurie būtų neapibrėžti kitose kalbose, būtų laikomi klaida arba tuščia reikšme. Pavyzdžiui, visi panaikinto inicijavimo kintamieji prasideda tuščia reikšme. Visų duomenų tipai gali prisiimti tuščią reikšmę.
Susiję straipsniai
Duomenų tipai
Veiklos vykdytojai ir identifikatoriai
Lenteles
Kintamųjų
Imperatyvi logika
Visuotinis palaikymas
Išraiškos gramatika
YAML formulės gramatika
Formulės drobės programose