Helo, Habr! Cyflwynaf i’ch sylw gyfieithiad o swydd Stephen Wolfram
Rhagofynion ar gyfer cysondeb yr iaith Wolfram
Heddiw rydym yn sefyll ar drothwy cyflawniadau gwych ynghyd â'r iaith raglennu
Mae Cadwrfa Swyddogaethau Wolfram yn rhywbeth sy'n bosibl oherwydd natur unigryw Iaith Wolfram nid yn unig fel iaith raglennu, ond hefyd fel iaith raglennu.
Er enghraifft, mae ystorfa swyddogaeth Wolfram eisoes yn cynnwys
Yn yr un modd yn fwy na
I gyrraedd y dudalen, copïwch y gwrthrych uchod (swyddogaeth BLOB), gludwch ef i'r llinell fewnbwn ac yna rhedwch y ffwythiant - mae eisoes wedi'i gynnwys yn iaith Wolfram a'i gefnogi yn ddiofyn gan ddechrau gyda
Dylid nodi yma wrth brosesu
Rwy’n gobeithio hynny gyda’r gefnogaeth
Gall swyddogaethau o'r gadwrfa gynnwys darnau bach neu fawr o god a ysgrifennwyd yn Iaith Wolfram. Er enghraifft, gallai'r rhain fod yn alwadau
Mae strwythur cragen a rhaglennu Storfa Nodweddion Wolfram wedi'i gynllunio fel y gall pawb gyfrannu at yr achos cyffredin yn y ffordd fwyaf syml a chyfleus iddynt - mewn gwirionedd, dim ond
Mae llawer o gyfaddawdau a manylion yn y dull hwn, ond ein nod yw gwneud y gorau o ystorfa nodweddion Wolfram ar gyfer profiad y defnyddiwr a sicrhau bod nodweddion defnyddwyr newydd yn cyfrannu'n ystyrlon at ddatblygiad yr iaith. Wrth inni dyfu, nid oes gennyf unrhyw amheuaeth y bydd yn rhaid inni ddyfeisio dulliau newydd o brosesu a dilysu swyddogaethau sydd wedi’u hymgorffori yn y gadwrfa, yn anad dim ar gyfer trefnu nifer fawr o swyddogaethau a dod o hyd i’r rhai y mae eu hangen ar ddefnyddwyr. Fodd bynnag, mae’n galonogol bod y llwybr yr ydym wedi’i ddewis yn ddechrau da. Fi yn bersonol
Cynyddu effeithlonrwydd tra'n lleihau costau
Hyd yn oed cyn y Rhyngrwyd, roedd ffyrdd o rannu cod Wolfram Language (ein prosiect canolog mawr cyntaf oedd
Ers dros 30 mlynedd, mae ein cwmni wedi gweithio'n ddiwyd i gynnal uniondeb strwythur iaith Wolfram, ac mae hyn yn hanfodol i sicrhau bod iaith Wolfram nid yn unig yn iaith raglennu, ond hefyd yn iaith raglennu.
Mae prosesau cyfrifiannol amrywiol yn digwydd yn strwythur gweithredu pob swyddogaeth. Dylid nodi yma ei bod yn angenrheidiol bod gan y swyddogaeth ymddangosiad clir ac unffurf a darllenadwyedd gweledol i'r defnyddiwr. Yn y cyd-destun hwn, cyflwynir mwy na 6000 o enghreifftiau dilyniannol i swyddogaethau adeiledig Iaith Wolfram o sut i raglennu swyddogaethau yn gywir (dyma ein
Mae creu ystorfa sy'n gweithio'n dda mewn gwirionedd yn dasg meta-raglennu ddiddorol. Er enghraifft, ni fydd gormodedd o gyfyngiadau yn y rhaglen yn caniatáu cael yr uniad gofynnol a chyffredinolrwydd yr algorithm. Yn union fel gyda nifer annigonol o gyfyngiadau swyddogaethol, ni fyddwch yn gallu gweithredu dilyniant digon cywir o gyflawni algorithm. Gweithiodd sawl enghraifft flaenorol o weithredu cyfaddawd o'r dulliau hyn, a weithredwyd gan ein cwmni, yn eithaf sefydlog - sef:
Mae gan bob un o'r enghreifftiau uchod nodwedd sylfaenol - mae gan y gwrthrychau a'r swyddogaethau a gasglwyd yn y prosiect radd uchel iawn o strwythuro a dosbarthiad prosesau. Wrth gwrs, gall manylion strwythur yr hyn sy'n rhwydwaith demo neu'n rhwydwaith niwral neu rywbeth arall amrywio'n fawr, ond mae'r strwythur sylfaenol ar gyfer unrhyw gadwrfa gyfredol bob amser yn aros yr un fath. Felly beth yw eich barn chi, annwyl ddefnyddiwr, am greu ystorfa o'r fath sy'n ychwanegu estyniadau i'r iaith Wolfram? Mae Iaith Wolfram wedi'i chynllunio i fod yn hynod hyblyg, felly gellir ei hymestyn a'i haddasu mewn unrhyw ffordd. Mae'r amgylchiad hwn yn hynod bwysig ar gyfer y gallu i greu amrywiol brosiectau meddalwedd ar raddfa fawr yn gyflym yn Iaith Wolfram. Dylid nodi yma, wrth i hyblygrwydd yr iaith gynyddu, y bydd cost prosiectau a weithredir yn y fath iaith yn anochel yn cynyddu. Mae hyn oherwydd y ffaith mai po fwyaf y mae'r defnyddiwr yn defnyddio iaith o'r fath, y mwyaf o swyddogaethau ymroddedig y mae'n eu derbyn, ond ni ddylem anghofio y gallai fod gan y dull hwn hefyd ochrau negyddol o ran yr anallu i sicrhau cysondeb cyson o fodiwlau rhaglen.
Mae problem gyffredin gyda llyfrgelloedd mewn ieithoedd rhaglennu traddodiadol - os ydych chi'n defnyddio un llyfrgell, er enghraifft, bydd y cod yn gweithio'n gywir, ond os ceisiwch ddefnyddio llyfrgelloedd lluosog, nid oes unrhyw sicrwydd y byddant yn rhyngweithio'n gywir â'i gilydd . Hefyd, mewn ieithoedd rhaglennu traddodiadol - yn wahanol i iaith gyfrifiadurol lawn - nid oes unrhyw ffordd i warantu presenoldeb cynrychioliadau adeiledig cyson ar gyfer unrhyw swyddogaethau neu fathau o ddata heblaw eu strwythurau sylfaenol. Ond, mewn gwirionedd, mae'r broblem hyd yn oed yn fwy nag y mae'n ymddangos ar yr olwg gyntaf: os yw rhywun yn adeiladu fertigol ar raddfa fawr o ymarferoldeb, yna heb gostau enfawr rhaglennu prosiect canolog a roddwn yn iaith Wolfram, mae'n amhosibl cyflawni cysondeb. Mae'n bwysig felly bod pob modiwl meddalwedd bob amser yn gweithio gyda'i gilydd yn gywir.
Felly'r syniad y tu ôl i ystorfa nodweddion Wolfram yw osgoi'r broblem a amlinellir uchod trwy ychwanegu estyniadau i'r iaith mewn darnau cymharol fach o god trwy nodweddion unigol sy'n haws eu datblygu fel modiwlau cydlynol. Wedi dweud hynny, mae yna nodweddion rhaglennu na ellir eu gwneud yn gyfleus gan ddefnyddio swyddogaethau unigol (ac mae ein cwmni'n bwriadu rhyddhau algorithm rhaglennu wedi'i optimeiddio yn y dyfodol agos i helpu i weithredu pecynnau meddalwedd ar raddfa fawr). Fodd bynnag, yn seiliedig ar y swyddogaethau sydd eisoes wedi'u hymgorffori yn Iaith Wolfram, mae yna lawer o bosibiliadau rhaglennu sy'n cael eu gweithredu yn seiliedig ar swyddogaethau unigol. Y syniad yma yw, gyda chymharol ychydig o ymdrech rhaglennu, ei bod yn bosibl creu nifer o swyddogaethau newydd a defnyddiol iawn a fydd yn darparu cydlyniad digonol i'r dyluniad, byddant wedi'u cydgysylltu'n dda â'i gilydd, a hefyd, yn ogystal â hyn, maent yn gallu cael ei defnyddio'n rhwydd ac yn eang yn yr iaith yn y dyfodol.
Mae'r dull hwn, wrth gwrs, yn gyfaddawd. Pe bai pecyn mwy yn cael ei weithredu, gellid dychmygu byd cwbl newydd o ymarferoldeb a fyddai'n hynod bwerus a defnyddiol. Os oes angen cael swyddogaethau newydd a fydd yn cyd-fynd â phopeth arall, ond nad ydych chi'n fodlon gwario llawer o ymdrech ar ddatblygu'r prosiect, gall hyn, yn anffodus, arwain at ostyngiad yng nghwmpas eich prosiect. Y syniad y tu ôl i ystorfa nodwedd Wolfram yw darparu ymarferoldeb i ran ddiffiniol o brosiect; bydd y dull hwn yn ychwanegu ymarferoldeb pwerus tra'n ei gwneud hi'n haws cynnal cysondeb da mewn prosiect rhaglennu.
Helpwch i ychwanegu swyddogaethau personol i'r gadwrfa swyddogaethau
Mae ein tîm wedi gweithio'n galed i'w gwneud hi'n hawdd i ddefnyddwyr gyfrannu at nodweddion ystorfa Wolfram. Ar y bwrdd gwaith (eisoes i mewn
Mae dau brif gam y bydd angen i chi eu cyflawni: yn gyntaf, ysgrifennwch y cod ar gyfer eich swyddogaeth ac, yn ail, ysgrifennwch ddogfennaeth sy'n dangos sut y dylai eich swyddogaeth weithio.
Cliciwch ar y botwm "Sampl Agored" ar y brig i weld enghraifft o'r hyn sydd angen i chi ei wneud:
Yn y bôn, rydych chi'n ceisio creu rhywbeth tebyg i swyddogaeth adeiledig yn Iaith Wolfram. Ac eithrio y gall wneud rhywbeth llawer mwy penodol na swyddogaeth adeiledig. Ar yr un pryd, bydd disgwyliadau o ran ei gyflawnrwydd a'i ddibynadwyedd yn llawer is.
Mae angen i chi roi enw i'ch swyddogaeth sy'n dilyn canllawiau enwi ffwythiannau Wolfram Language. Yn ogystal, bydd angen i chi ddatblygu dogfennaeth ar gyfer eich swyddogaeth, yn debyg i swyddogaethau adeiledig yr iaith. Byddaf yn siarad am hyn yn fanylach yn nes ymlaen. Am y tro, sylwch fod botwm yn y rhes o fotymau ar frig y ffeil llyfr nodiadau diffiniad
Pan fyddwch chi'n siŵr bod popeth wedi'i lenwi'n iawn a'ch bod chi'n barod, cliciwch ar y botwm "Gwirio". Mae'n gwbl normal nad ydych wedi cyfrifo'r holl fanylion eto. Felly bydd y swyddogaeth "Gwirio" yn rhedeg yn awtomatig ac yn gwneud llawer o wiriadau arddull a chysondeb. Yn aml, bydd yn eich annog ar unwaith i gadarnhau a derbyn y cywiriadau (Er enghraifft: "Rhaid i'r llinell hon orffen gyda cholon," a bydd yn eich annog i fynd i mewn i golon). Weithiau bydd hi'n gofyn i chi ychwanegu neu newid rhywbeth eich hun. Byddwn yn ychwanegu nodweddion newydd yn gyson at ymarferoldeb awtomatig y botwm Gwirio, ond yn y bôn ei ddiben yw sicrhau bod popeth a gyflwynwch i'r ystorfa nodwedd eisoes yn dilyn cymaint o ganllawiau arddull â phosibl yn agos.
Felly, ar ôl rhedeg "Gwirio", gallwch ddefnyddio "Rhagolwg". Mae "Rhagolwg" yn creu rhagolwg o'r dudalen ddogfennaeth a ddiffiniwyd gennych ar gyfer eich swyddogaeth. Gallwch hefyd greu rhagolwg ar gyfer ffeil a grëwyd ar eich cyfrifiadur neu ar gyfer ffeil sydd wedi'i lleoli mewn storfa cwmwl. Os, am ryw reswm, nad ydych chi'n fodlon â'r hyn a welwch yn y rhagolwg, ewch yn ôl a gwneud y cywiriadau angenrheidiol, ac yna cliciwch ar y botwm Rhagolwg eto.
Nawr rydych chi'n barod i wthio'ch swyddogaeth i'r ystorfa. Mae'r botwm Defnyddio yn rhoi pedwar opsiwn i chi:
Y peth pwysig ar y cam hwn yw y gallwch chi gyflwyno'ch swyddogaeth i gadwrfa swyddogaeth Wolfram fel ei bod ar gael i unrhyw un. Ar yr un pryd, gallwch hefyd osod eich swyddogaeth ar gyfer nifer cyfyngedig o ddefnyddwyr. Er enghraifft, gallwch greu swyddogaeth sy'n cael ei chynnal yn lleol ar eich cyfrifiadur fel ei bod ar gael pan fyddwch yn defnyddio'r cyfrifiadur penodol hwnnw. Neu gallwch ei bostio yn eich
Felly gadewch i ni ddweud eich bod am gyflwyno'ch swyddogaeth i sylfaen wybodaeth swyddogaeth Wolfram. I wneud hyn, rydych chi'n clicio ar y botwm "Cyflwyno" i'r gadwrfa. Felly beth sy'n digwydd ar hyn o bryd? Mae eich cais yn cael ei giwio ar unwaith i'w adolygu a'i gymeradwyo gan ein tîm ymroddedig o guraduron.
Wrth i'ch cais fynd trwy'r broses gymeradwyo (sy'n cymryd sawl diwrnod fel arfer), byddwch yn derbyn cyfathrebiadau ynghylch ei statws ac o bosibl awgrymiadau ar gyfer defnydd yn y dyfodol. Ond unwaith y bydd eich nodwedd wedi'i chymeradwyo, bydd yn cael ei chyhoeddi ar unwaith i'r Wolfram Feature Repository a bydd ar gael i unrhyw un ei ddefnyddio. (A bydd hyn yn ymddangos yn
Beth ddylai fod yn y storfa?
Dylid nodi bod gan ein cwmni safonau uchel iawn o ran cyflawnrwydd, dibynadwyedd ac ansawdd cyffredinol, ac o'r 6000+ o swyddogaethau yr ydym eisoes wedi'u cynnwys yn iaith Wolfram dros y 30+ mlynedd diwethaf, mae pob un yn bodloni'r gofynion uchod. Nod Storfa Swyddogaethau Wolfram yw defnyddio'r holl strwythur a swyddogaethau sydd eisoes yn bodoli yn Iaith Wolfram er mwyn ychwanegu cymaint o swyddogaethau llawer ysgafnach (hynny yw, swyddogaethau perfformiad uwch) â phosibl.
Wrth gwrs, rhaid i swyddogaethau yn ystorfa ffwythiannau Wolfram gydymffurfio ag egwyddorion dylunio Iaith Wolfram - fel y gallant ryngweithio'n llawn â swyddogaethau eraill a disgwyliadau defnyddwyr o sut y dylai'r swyddogaeth weithio'n iawn. Fodd bynnag, nid oes rhaid i'r swyddogaethau fod yr un mor gyflawn neu ddibynadwy.
Yn swyddogaethau adeiledig yr iaith Wolfram, rydym yn gweithio'n galed i wneud swyddogaethau rhaglennu mor gyffredinol â phosibl. Wedi dweud hynny, pan nad oes dim o'i le yn ystorfa swyddogaeth Wolfram ar gael swyddogaeth ynddi sy'n delio ag achos penodol ond defnyddiol iawn. Er enghraifft, y swyddogaeth
Pwynt arall sy'n ymwneud â'r swyddogaethau adeiledig yw bod ein cwmni'n gwneud pob ymdrech i drin pob achos annodweddiadol, i drin mewnbwn anghywir yn gywir, ac ati. Mewn ystorfa swyddogaeth, mae'n gwbl normal bod yna swyddogaeth arbennig sy'n ymdrin â'r prif achosion o ddatrys problem ac yn anwybyddu pob un arall.
Y pwynt amlwg yw ei bod yn well cael swyddogaethau sy'n gwneud mwy ac yn ei wneud yn well, ond dylai optimeiddio ar gyfer ystorfa swyddogaethau - yn hytrach na swyddogaethau adeiledig iaith Wolfram - gael mwy o swyddogaethau wedi'u bwndelu â mwy o swyddogaethau yn hytrach na threiddio i mewn i prosesau gweithredu pob swyddogaeth benodol.
Nawr, gadewch i ni edrych ar enghraifft o swyddogaethau profi mewn ystorfa. Mae disgwyliadau cysondeb ar gyfer swyddogaethau o'r fath yn naturiol yn llawer is nag ar gyfer swyddogaethau iaith adeiledig. Mae hyn yn arbennig o wir mewn achosion lle mae swyddogaethau'n dibynnu ar adnoddau allanol fel APIs, mae'n bwysig cynnal profion cyson yn gyson, sy'n digwydd yn awtomatig o fewn yr algorithmau dilysu. Yn y ffeil nb, gallwch nodi diffiniadau yn benodol (yn yr adran Gwybodaeth Ychwanegol) a nodi cymaint o brofion ag a ddiffinnir gan naill ai llinynnau mewnbwn ac allbwn neu wrthrychau nodau llawn o'r math
O ganlyniad, bydd gan y storfa swyddogaethau nifer o gymhlethdodau gweithredu. Un llinell o god yn unig fydd rhai, gall eraill gynnwys miloedd neu ddegau o filoedd o linellau, gan ddefnyddio llawer o swyddogaethau cynorthwyol yn ôl pob tebyg. Pryd mae'n werth ychwanegu swyddogaeth sydd angen ychydig iawn o god i'w ddiffinio? Yn y bôn, os ar gyfer swyddogaeth mae yna
Prif bwrpas cadwrfa ffwythiannau (fel mae'r enw'n awgrymu) yw cyflwyno nodweddion newydd i'r iaith. Os ydych am ychwanegu data newydd neu
Mewn gwirionedd mae dwy ffordd. Efallai y byddwch am gyflwyno math newydd o wrthrych a fydd yn cael ei ddefnyddio mewn swyddogaethau newydd yn y gadwrfa swyddogaethau. Ac yn yr achos hwn, gallwch chi bob amser ysgrifennu ei gynrychiolaeth symbolaidd a'i ddefnyddio wrth fewnbynnu neu allbynnu swyddogaethau mewn ystorfa swyddogaethau.
Ond beth os ydych am gynrychioli gwrthrych ac yna diffinio, trwy swyddogaethau presennol yn Iaith Wolfram, eich bod am weithio ag ef? Mae'r Iaith Wolfram bob amser wedi cael mecanwaith ysgafn ar gyfer hyn, a elwir
Felly, beth allai fod yn y cod swyddogaeth mewn ystorfa swyddogaethau?
A ddylai'r holl god ar gyfer ystorfa nodwedd Wolfram gael ei ysgrifennu yn Wolfram? Yn sicr, ni ddylai'r cod y tu mewn i'r API allanol gael ei ysgrifennu yn yr iaith Wolfram, nad yw hyd yn oed yn gwneud y cod iaith. Mewn gwirionedd, os dewch o hyd i swyddogaeth mewn bron unrhyw iaith neu lyfrgell allanol, gallwch greu deunydd lapio sy'n caniatáu ichi ei ddefnyddio yn ystorfa swyddogaeth Wolfram. (Fel arfer dylech ddefnyddio'r swyddogaethau adeiledig ar gyfer hyn
Felly beth yw pwynt gwneud hyn? Yn y bôn, mae hyn yn caniatáu ichi ddefnyddio'r system Wolfram Language integredig gyfan a'i set unedig gyfan o alluoedd meddalwedd. Os ydych chi'n cael y gweithrediad sylfaenol o lyfrgell neu iaith allanol, gallwch chi wedyn ddefnyddio strwythur symbolaidd cyfoethog Iaith Wolfram i greu swyddogaeth lefel uchaf gyfleus sy'n caniatáu i ddefnyddwyr ddefnyddio unrhyw swyddogaeth sydd eisoes ar waith yn hawdd. O leiaf, dylai hyn fod yn ymarferol mewn byd delfrydol lle mae holl flociau adeiladu llyfrgelloedd llwytho ac ati yn bodoli, ac os felly byddent yn cael eu trin yn awtomatig gan Wolfram Language. (Dylid nodi y gall fod problemau gyda
Gyda llaw, pan edrychwch am y tro cyntaf ar lyfrgelloedd allanol nodweddiadol, maent yn aml yn ymddangos yn rhy gymhleth i'w cynnwys mewn ychydig o swyddogaethau, ond mewn llawer o achosion, mae llawer o'r cymhlethdod yn deillio o greu'r seilwaith sydd ei angen ar gyfer y llyfrgell a'r holl swyddogaethau i ei gefnogi. Fodd bynnag, wrth ddefnyddio Wolfram Language, mae'r seilwaith eisoes wedi'i ymgorffori yn y pecynnau, ac felly nid oes angen datgelu'r holl swyddogaethau cymorth hyn yn fanwl, ond dim ond creu swyddogaethau ar gyfer y swyddogaethau "uchaf" sy'n benodol i gymwysiadau yn y llyfrgell .
"Ecosystem" y sylfaen wybodaeth
Os oes gennych chi swyddogaethau ysgrifenedig rydych chi'n eu defnyddio'n rheolaidd, cyflwynwch nhw i Storfa Swyddogaethau Wolfram! Os na fydd rhywbeth arall yn dod allan o hyn (datblygiad iaith), yna hyd yn oed wedyn bydd yn llawer mwy cyfleus i chi ddefnyddio'r swyddogaethau at ddefnydd personol. Fodd bynnag, mae'n rhesymegol tybio, os ydych chi'n defnyddio'r swyddogaethau'n rheolaidd, efallai y bydd defnyddwyr eraill hefyd yn eu gweld yn ddefnyddiol.
Yn naturiol, efallai y byddwch yn cael eich hun mewn sefyllfa lle nad ydych yn gallu – neu ddim eisiau – rhannu eich swyddogaethau neu mewn achos o gael mynediad at adnoddau gwybodaeth preifat. Hyd yn oed mewn achosion o'r fath, gallwch chi ddefnyddio'r swyddogaethau yn eich cyfrif cwmwl eich hun,
Nid oes rhaid i'r swyddogaethau a gyflwynwch i ystorfa swyddogaethau Wolfram fod yn berffaith; mae'n rhaid iddynt fod yn ddefnyddiol. Mae hyn ychydig yn debyg i'r adran "Gwallau" yn nogfennaeth clasurol Unix - yn yr "Adran Diffiniadau" mae adran "Nodiadau Awdur" lle gallwch ddisgrifio cyfyngiadau, problemau, ac ati yr ydych eisoes yn gwybod am eich swyddogaeth. Yn ogystal, pan fyddwch yn cyflwyno'ch nodwedd i'r gadwrfa, gallwch ychwanegu nodiadau cyflwyno a fydd yn cael eu darllen gan dîm ymroddedig o guraduron.
Unwaith y bydd nodwedd wedi'i chyhoeddi, mae gan ei dudalen bob amser ddau ddolen ar y gwaelod: "
Weithiau rydych chi eisiau defnyddio swyddogaethau o ystorfa swyddogaethau Wolfram, fel swyddogaethau adeiledig, heb edrych ar eu cod. Fodd bynnag, os ydych chi am edrych y tu mewn, mae botwm Notepad ar y brig bob amser. Cliciwch arno a byddwch yn cael eich copi eich hun o'r llyfr nodiadau diffiniad gwreiddiol a gyflwynwyd i'r gadwrfa nodweddion. Weithiau gallwch chi ei ddefnyddio fel enghraifft ar gyfer eich anghenion. Ar yr un pryd, gallwch hefyd ddatblygu eich addasiad eich hun o'r swyddogaeth hon. Efallai y byddwch am bostio'r swyddogaethau hyn y daethoch o hyd iddynt o'r ystorfa ar eich cyfrifiadur neu yn eich cyfrif storio cwmwl pryfed gleision, efallai eich bod am eu cyflwyno i'r sylfaen wybodaeth swyddogaeth, efallai fel fersiwn well, estynedig o'r swyddogaeth wreiddiol.
Yn y dyfodol, rydyn ni'n bwriadu cefnogi fforchio arddull Git ar gyfer ystorfeydd nodwedd, ond am y tro rydyn ni'n ceisio ei gadw'n syml, a dim ond un fersiwn dderbyniol o bob nodwedd sydd gennym ni bob amser wedi'i ymgorffori yn yr iaith. Yn amlach na pheidio (oni bai bod datblygwyr yn rhoi’r gorau i gynnal y nodweddion a ddatblygwyd ganddynt ac yn ymateb i gyflwyniadau defnyddwyr), mae awdur gwreiddiol y nodwedd yn rheoli diweddariadau iddo ac yn cyflwyno fersiynau newydd, sydd wedyn yn cael eu hadolygu ac, os ydynt yn pasio’r broses adolygu , a gyhoeddwyd yn yr iaith.
Gadewch i ni ystyried y cwestiwn o sut mae “fersiwn” swyddogaethau datblygedig yn gweithio. Ar hyn o bryd, pan fyddwch chi'n defnyddio swyddogaeth o'r storfa swyddogaethau, bydd ei ddiffiniad yn cael ei storio'n barhaol ar eich cyfrifiadur (neu yn eich cyfrif cwmwl os ydych chi'n defnyddio'r cwmwl). Os oes fersiwn newydd o nodwedd ar gael, y tro nesaf y byddwch yn ei defnyddio byddwch yn derbyn neges yn eich hysbysu o hyn. Ac os ydych chi am ddiweddaru'r swyddogaeth i fersiwn newydd, gallwch chi ei wneud gan ddefnyddio'r gorchymyn
Un o'r pethau hardd am Storfa Swyddogaethau Wolfram yw y gall unrhyw raglen Wolfram Language, unrhyw le, ddefnyddio swyddogaethau ohoni. Os bydd rhaglen yn ymddangos mewn llyfr nodiadau, mae'n aml yn gyfleus i fformatio'r swyddogaethau ystorfa fel swyddogaethau "gwrthrych deuaidd swyddogaeth" hawdd eu darllen (efallai gyda set fersiwn priodol).
Gallwch chi bob amser gael mynediad i unrhyw swyddogaeth yn y gadwrfa swyddogaethau gan ddefnyddio testun
Sut mae'n gweithio?
Y tu mewn i'r swyddogaethau yn ystorfa Wolfram mae hyn yn bosibl gan ddefnyddio'r un peth yn union
Ystyriwch
Y tu mewn gallwch weld rhywfaint o wybodaeth gan ddefnyddio'r swyddogaeth
Sut mae sefydlu swyddogaeth adnoddau yn gweithio? Mae'r un symlaf yn achos lleol yn unig. Dyma enghraifft sy'n cymryd swyddogaeth (yn yr achos hwn dim ond swyddogaeth pur) ac yn ei ddiffinio fel swyddogaeth adnoddau ar gyfer sesiwn rhaglen benodol:
Unwaith y byddwch wedi gwneud y diffiniad, gallwch ddefnyddio'r swyddogaeth adnoddau:
Sylwch fod eicon du yn y blob swyddogaeth hwn . Mae hyn yn golygu bod y swyddogaeth BLOB yn cyfeirio at y swyddogaeth adnoddau mewn cof a ddiffinnir ar gyfer y sesiwn gyfredol. Mae gan nodwedd adnodd sy'n cael ei storio'n barhaol ar eich cyfrifiadur neu gyfrif cwmwl eicon llwyd . Ac mae eicon oren ar gyfer nodwedd adnodd swyddogol yn Storfa Nodweddion Wolfram .
Felly beth sy'n digwydd pan fyddwch chi'n defnyddio'r ddewislen Expand yn y Llyfr Nodiadau Diffiniad? Yn gyntaf, mae'n cymryd yr holl ddiffiniadau yn y llyfr nodiadau ac oddi wrthynt yn creu symbolaidd
Gwneir defnydd lleol o swyddogaeth o gadwrfa ar eich cyfrifiadur gan ddefnyddio'r gorchymyn
Os cliciwch y botwm Cyflwyno ar gyfer Cadwrfa Swyddogaeth, beth sy'n digwydd oddi tano
Yn ddiofyn, gwneir cyflwyniadau o dan yr enw sy'n gysylltiedig â'ch ID Wolfram. Ond os ydych yn cyflwyno cais ar ran tîm neu sefydliad datblygu, gallwch wneud hynny
Ar ôl i chi gyflwyno unrhyw un o'ch swyddogaethau i'r gronfa wybodaeth swyddogaeth, bydd yn cael ei adolygu. Os byddwch yn derbyn sylwadau mewn ymateb, byddant fel arfer ar ffurf ffeil testun gyda “chelloedd sylwadau” ychwanegol wedi'u hychwanegu. Gallwch chi bob amser wirio statws eich cais trwy ymweld
Rhai cynnil yn y gwaith
Ar yr olwg gyntaf gall ymddangos fel y gallwch chi gymryd llyfr nodiadau diffiniad a'i roi air am air mewn ystorfa swyddogaethau, fodd bynnag, mewn gwirionedd mae cryn dipyn o gynildeb yn gysylltiedig - ac mae eu trin yn gofyn am wneud rhywfaint o feta-raglennu eithaf cymhleth, gan drin prosesu symbolaidd. fel y cod sy'n diffinio'r swyddogaeth , a diffinnir y Notepad ei hun. Mae'r rhan fwyaf o hyn yn digwydd yn fewnol, y tu ôl i'r llenni, ond gall fod â rhai goblygiadau sy'n werth eu deall os ydych chi'n mynd i gyfrannu at y sylfaen wybodaeth nodwedd.
Cynildeb uniongyrchol cyntaf: Pan fyddwch chi'n llenwi'r Llyfr Nodiadau Diffiniad, gallwch chi gyfeirio at eich swyddogaeth ym mhobman gan ddefnyddio enw tebyg Fy Swyddogaeth, sy'n edrych fel enw rheolaidd ar ffwythiant yn yr Iaith Wolfram, ond ar gyfer dogfennaeth ystorfa ffwythiannau mae hwn yn cael ei ddisodli
Yr ail gynildeb: pan fyddwch chi'n creu swyddogaeth adnoddau o'r Llyfr Nodiadau Diffiniad, rhaid i'r holl ddibyniaethau sy'n gysylltiedig â'r diffiniad swyddogaeth gael eu dal a'u cynnwys yn benodol. Fodd bynnag, er mwyn sicrhau bod y diffiniadau'n aros yn fodiwlaidd, mae angen ichi roi popeth mewn unigryw
Yn nodweddiadol, ni fyddwch byth yn gweld unrhyw olion o'r cod a ddefnyddiwyd i ffurfweddu'r gofod enw hwn. Ond os ydych chi'n galw symbol tan-gyflawni y tu mewn i'ch swyddogaeth am ryw reswm, yna fe welwch fod y symbol hwn yng nghyd-destun mewnol y swyddogaeth. Fodd bynnag, wrth brosesu'r Diffiniad Notepad, o leiaf y symbol sy'n cyfateb i'r swyddogaeth ei hun yw
Mae'r storfa swyddogaethau ar gyfer diffinio swyddogaethau newydd. Ac efallai y bydd gan y swyddogaethau hyn opsiynau. Yn aml mae'r paramedrau hyn (er enghraifft,
Mae'r rhan fwyaf o swyddogaethau yn syml yn gwneud yr hyn y maent i fod i'w wneud bob tro y cânt eu galw, ond mae angen cychwyn rhai swyddogaethau cyn y gallant redeg mewn sesiwn benodol - ac i ddatrys y broblem hon, mae adran "Cychwyn" yn yr adran Diffiniad.
Gall swyddogaethau o gadwrfa ddefnyddio swyddogaethau eraill sydd eisoes yn y gadwrfa; er mwyn sefydlu diffiniadau ar gyfer ystorfa swyddogaethau sy'n cynnwys dwy (neu fwy) o swyddogaethau sy'n cyfeirio at ei gilydd, rhaid i chi eu defnyddio yn eich sesiwn rhaglen fel y gallwch cyfeirio fel arnynt
Rhagolygon datblygu. Beth ddylai ddigwydd pan fydd y storfa'n mynd yn fawr iawn?
Heddiw rydyn ni newydd lansio Storfa Nodweddion Wolfram, ond dros amser rydyn ni'n disgwyl y bydd ei maint a'i swyddogaeth yn cynyddu'n ddramatig, ac wrth iddo dyfu mewn datblygiad bydd yna broblemau amrywiol rydyn ni eisoes yn rhagweld y byddant yn codi.
Mae'r broblem gyntaf yn ymwneud ag enwau swyddogaethau a'u natur unigryw. Mae'r ystorfa swyddogaethau wedi'i dylunio yn y fath fodd fel y gallwch, fel y swyddogaethau adeiledig yn Iaith Wolfram, gyfeirio at unrhyw swyddogaeth benodol trwy nodi ei henw yn unig. Ond mae hyn yn anochel yn golygu bod yn rhaid i enwau ffwythiannau fod yn unigryw yn fyd-eang ar draws y gadwrfa, fel, er enghraifft, mai dim ond un
Gall hyn ymddangos yn broblem fawr ar y dechrau, ond mae'n werth sylweddoli ei bod yn y bôn yr un broblem ag ar gyfer pethau fel parthau rhyngrwyd neu ddolenni cyfryngau cymdeithasol. A'r ffaith yw mai'r cyfan y mae angen i'r system ei wneud yw cael cofrestrydd - a dyma un o'r rolau y bydd ein cwmni'n eu cyflawni ar gyfer sylfaen wybodaeth swyddogaeth Wolfram. (Ar gyfer fersiynau preifat o gadwrfa, gall eu cofrestryddion fod yn weinyddwyr.) Wrth gwrs, gellir cofrestru parth Rhyngrwyd heb fod ag unrhyw beth arno, ond mewn cadwrfa swyddogaethau, dim ond os oes diffiniad gwirioneddol o ystorfa y gellir cofrestru enw swyddogaeth y swyddogaeth.
Rhan o'n rôl wrth reoli sylfaen wybodaeth swyddogaeth Wolfram yw sicrhau bod yr enw a ddewisir ar gyfer swyddogaeth yn rhesymegol o ystyried diffiniad y swyddogaeth a'i fod yn dilyn confensiynau enwi Iaith Wolfram. Mae gennym dros 30 mlynedd o brofiad yn enwi swyddogaethau adeiledig yn Iaith Wolfram, a bydd ein tîm o guraduron yn dod â’r profiad hwnnw i’r gadwrfa swyddogaethau hefyd. Wrth gwrs, mae yna bob amser eithriadau. Er enghraifft, gall ymddangos yn well cael enw byr ar gyfer rhyw swyddogaeth, ond mae'n well "amddiffyn" gydag enw hirach, mwy penodol oherwydd eich bod yn llai tebygol o redeg i mewn i rywun sydd am wneud enw swyddogaeth tebyg yn y dyfodol .
(Dylid nodi yma na fydd ychwanegu rhywfaint o dag aelod i ddadamwyso swyddogaethau yn cael yr effaith a fwriadwyd. Oherwydd oni bai eich bod yn mynnu neilltuo tag bob amser, bydd angen i chi ddiffinio tag rhagosodedig ar gyfer unrhyw swyddogaeth benodol, a hefyd dyrannu tagiau awdur , a fyddai unwaith eto yn gofyn am gydlyniad byd-eang.)
Wrth i sylfaen wybodaeth ffwythiannau Wolfram dyfu, un o'r problemau sy'n debygol o godi yw darganfod swyddogaethau, y mae'r system yn darparu ar eu cyfer.
Ar gyfer swyddogaethau adeiledig yn yr Iaith Wolfram mae haen ganfod fel y'i gelwir a ddarperir gan
Mae ystorfa swyddogaeth Wolfram wedi'i ffurfweddu fel ystorfa swyddogaeth barhaus, lle bydd unrhyw swyddogaeth ynddi bob amser yn gweithio. Wrth gwrs, efallai y bydd fersiynau newydd o nodweddion ar gael, a disgwyliwn y bydd rhai nodweddion wrth gwrs yn dod yn ddarfodedig dros amser. Bydd y swyddogaethau'n gweithio os cânt eu defnyddio mewn rhaglenni, ond bydd eu tudalennau dogfennaeth yn cysylltu â swyddogaethau newydd, mwy datblygedig.
Mae Storfa Nodweddion Wolfram wedi'i chynllunio i'ch helpu chi i ddarganfod nodweddion newydd yn gyflym a dysgu ffyrdd newydd o ddefnyddio iaith Wolfram. Rydym yn obeithiol iawn y bydd peth o'r hyn a archwiliwyd yn y gadwrfa nodwedd yn gwneud synnwyr yn y pen draw i ddod yn rhan annatod o Iaith Wolfram graidd. Dros y degawd diwethaf rydym wedi cael set debyg
Y peth pwysicaf yma yw bod swyddogaeth mewn ystorfa swyddogaethau yn rhywbeth sydd ar gael i bob defnyddiwr ei ddefnyddio ar hyn o bryd. Mae'n bosibl y gallai nodwedd iaith frodorol fod yn llawer gwell a mwy perfformiadol, ond byddai ystorfa nodweddion yn caniatáu i ddefnyddwyr gael mynediad i'r holl nodweddion newydd ar unwaith. Ac, yn bwysicaf oll, mae'r cysyniad hwn yn caniatáu i bawb ychwanegu unrhyw nodweddion newydd y maent eu heisiau.
Yn gynharach yn hanes yr iaith Wolfram, ni fuasai y syniad hwn wedi gweithio cystal ag y mae, ond ar hyn o bryd y mae cymaint o ymdrech yn cael ei roi i'r iaith, a dealltwriaeth mor ddwfn o egwyddorion cynllun iaith, fel ei fod yn ymddangos yn eithaf yn bosibl i gymuned fawr o ddefnyddwyr ychwanegu nodweddion a fydd yn cynnal cysondeb dylunio i'w gwneud yn ddefnyddiol i ystod eang o ddefnyddwyr.
Mae ysbryd anhygoel o dalent(?) yng nghymuned defnyddwyr Wolfram Language. (Wrth gwrs, mae'r gymuned hon yn cynnwys llawer o bobl ymchwil a datblygu blaenllaw mewn amrywiaeth o feysydd.) Rwy'n gobeithio y bydd y Wolfram Feature Repository yn darparu llwyfan effeithiol ar gyfer datgloi a lledaenu'r ysbryd talent hwn. Dim ond gyda'n gilydd y gallwn greu rhywbeth a fydd yn ehangu'n sylweddol yr ardal y gellir cymhwyso patrwm cyfrifiadurol iaith Wolfram iddo.
Mewn mwy na 30 mlynedd, rydyn ni wedi dod yn bell ag iaith Wolfram. Nawr gyda'n gilydd, gadewch i ni fynd hyd yn oed ymhellach. Rwy'n annog yn gryf holl ddefnyddwyr uchel eu parch yr iaith Wolfram ledled y byd i ddefnyddio'r ystorfa swyddogaethol fel llwyfan ar gyfer hyn, yn ogystal â'r prosiect meddalwedd newydd fel y Free Wolfram Engine for Developers.
Ffynhonnell: hab.com