Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Silav Habr! Wergera nivîsa Stephen Wolfram pêşkêşî we dikim "Depoya Fonksiyona Wolfram: Destpêkirina Platformek Vekirî ji bo Berfirehkirina Zimanê Wolfram".

Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Mercên ji bo hevgirtina zimanê Wolfram

Îro em bi zimanê bernamesaziyê re li ber deriyê serkeftinên mezin radiwestin Zimanê Wolfram. Tenê sê hefte berê me dest pê kir belaş engine Wolfram ji bo pêşdebiranda ku ji bikarhênerên me re bibin alîkar ku Zimanê Wolfram di projeyên xwe yên nermalava mezin de yek bikin. Îro em dest pê dikin Depoya fonksiyona Wolfram, ji bo ku ji bo fonksiyonên ku ji bo dirêjkirina zimanê Wolfram hatine afirandin platformek hevrêz peyda bikin, û her weha em depoyek fonksiyonan jî ji bo her kesê ku dikare beşdarî pêşkeftina hilbera nermalava me bike vedike.

Depoya Fonksiyona Wolfram tiştek e ku ji hêla xwezaya yekta ya Zimanê Wolfram ve ne tenê wekî zimanek bernamekirinê, lê her weha wekî zimanê kompîturê ya tevayî. Di zimanên bernamesaziya kevneşopî de, lê zêdekirina fonksiyonên nû yên girîng bi gelemperî avakirina pirtûkxaneyên din ên ku dibe ku dema ku bi hev re têne bikar anîn an jî nexebitin pêk tîne. Lêbelê, di Zimanê Wolfram de jixwe gelek tişt di ziman bi xwe de hatiye avakirin, ku mimkun e ku bi tenê bi zêdekirina fonksiyonên nû yên ku tavilê di nav avahiya tevayî ya hemî ziman de têne yek kirin fonksiyona wê bi girîngî berfireh bike.

Mînakî, depoya fonksiyona Wolfram jixwe heye 532 taybetmendiyên nû di 26 kategoriyên tematîk de hatiye avakirin:

Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Bi heman awayî ji 6000 fonksiyonên standard, ku di zimanê Wolfram de hatî çêkirin, her fonksiyonek ji depoyê rûpelek belgekirinê heye ku bi hûrgulî danasîna wan û mînakên xebatê hene:

Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Ji bo ku hûn bigihîjin rûpelê, tişta jorîn (fonksiyona BLOB) kopî bikin, wê bixin nav rêza têketinê û dûv re fonksiyonê bimeşînin - ew jixwe di zimanê Wolfram de hatî çêkirin û ji hêla xwerû ve dest pê dike guhertoya 12.0:

Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Li vir divê bête zanîn ku dema pêvajoyê LogoQRCode Mînakî, hûn ne hewce ne ku hûn "pirtûkxaneyek hilberandina wêneyê" saz bikin - ji ber ku me berê di Zimanê Wolfram de rêyek hevgirtî û bi baldarî algorîtmîkî bicîh kiriye. pêvajoya wêneyê, ku dikare yekser ji hêla fonksiyonên zimanên cûda yên grafîkî ve were pêvajo kirin:

Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Ez hêvî dikim ku bi piştgirî civaka ecêb û jêhatî, ku di van çend dehsalên borî de (li ser bingeha Zimanê Wolfram) mezin û berfireh bûye. Depoya fonksiyona Wolfram dê rê bide ku ji bo pêşerojek pêşbînîkirî rêzika fonksiyonên (dibe ku potansiyel girîng, pispor di warên cûrbecûr yên zanist û teknolojiyê de) di ziman de bi girîngî berfireh bike. Bi vî awayî, hem naveroka ziman (fonksîyonên wî yên çêkirî) û hem jî bi kar tîne prensîbên pêşveçûnê, yên ku li ser ziman têne bicihkirin. (Divê li vir were zanîn ku Zimanê Wolfram jixwe zêdetir heye Dîroka 30-salî ya pêşveçûn û mezinbûna stabîl).
Dibe ku fonksiyonên ji depoyê perçeyên piçûk an mezin ên kodê yên ku bi Zimanê Wolfram hatine nivîsandin hebin. Mînakî, ev dibe ku bang bibin API û karûbarên derve an pirtûkxaneyên derveyî bi zimanên din. Taybetmendiya bêhempa ya vê nêzîkbûnê ev e ku gava ku hûn fonksiyonên asta bikarhêner davêjin, dê nakokiyên potansiyel tune bin ji ber ku nêzîkbûn li ser avahiya hevgirtî ya Zimanê Wolfram hatî çêkirin - û her fonksiyon dê bixweber rast bixebite - tam wekî mebest. wê divê.
Struktura şêl û bernamesaziya Depoya Taybetmendiyê ya Wolfram ji ber vê yekê hatî sêwirandin ku her kes bi awayê herî hêsan û hêsan ji bo wan beşdarî doza hevpar bibe - bi rastî, tenê bi dagirtina pelê nivîsê ya notepad (bi dirêjkirina nb) WL. Fonksiyonên xweser ên çêkirî dihêle hûn fonksiyonên nû yên ku li depoyê hatine zêdekirin kontrol bikin da ku yekbûna wan bi zimanî piştrast bikin. Pargîdaniya me ji bilî tevliheviya mezin a fonksiyonên nû, li ser pirfireh bikarhênerên ku dikarin fonksiyonên xwe di ziman de yek bikin - û her çend pêvajoyek vekolînê hebe jî, em li ser tiştek wekî israr nakin. analîza sêwirana bi êş an standardên hişk ên ji bo tevahî û pêbaweriya taybetmendiyên bikarhêner ên nû, berevajî ceribandina hişktir a taybetmendiyên ku di zimanê bingehîn de ku em bikar tînin hatine çêkirin.

Di vê nêzîkatiyê de gelek danûstendin û hûrgulî hene, lê mebesta me ew e ku em depoya taybetmendiya Wolfram hem ji bo ezmûna bikarhêner xweştir bikin û hem jî pê ewle bikin ku taybetmendiyên bikarhêner ên nû bi wate di pêşkeftina ziman de beşdar bibin. Her ku em mezin dibin, gumana min tune ku em ê neçar in ku rêbazên nû ji bo hilanîn û pejirandina fonksiyonên ku di depoyê de hatine çêkirin îcad bikin, nexasim ji bo organîzekirina hejmareke mezin ji fonksiyonan û dîtina yên ku bikarhêner hewce ne. Lêbelê, teşwîq e ku riya ku me hilbijartiye destpêkek baş e. Ez bi xwe çend taybetmendî lê zêde kirin ji databasa orîjînal re. Pir ji wan li ser koda ku min bi xwe ji bo demek dirêj ve pêşve xistiye, ne. Û tenê çend hûrdeman ji min re girt ku ez wan berbi depoyê vekim. Naha ku ew di depoyê de ne, ez dikarim di dawiyê de - tavilê û di her kêliyê de - van fonksiyonan wekî ku hewce bike bikar bînim, bêyî ku meraq bikim li ser lêgerîna pelan, dakêşana pakêtan, hwd.

Zêdekirina karîgeriyê dema ku lêçûn kêm dike

Beriya Înternetê jî, rêyên parvekirina koda Wolfram Ziman hebûn (projeya meya navendî ya yekem a mezin bû MathSource, ji bo Mathematica di 1991 de li ser bingeha CD-ROM, û hwd.) hate afirandin). Bê guman, nêzîkatiya ku ji bo bicîhkirinê li ser bingeha depoya fonksiyonê Wolfram hatî pêşniyar kirin ji bo pêkanîna karên jorîn amûrek bihêztir û pêbawer e.

Zêdetirî 30 sal e, pargîdaniya me bi xîret xebitiye ku yekparebûna avahiya zimanê Wolfram biparêze, û ev yek girîng e ji bo ku zimanê Wolfram ne tenê bibe zimanek bernamekirinê, lê her weha zimanê kompîturê tam. Û bi vî awayî, cewhera nêzîkatiya pêkanîna depoya fonksiyona Wolfram ev e ku meriv nêzîkatiyek yekgirtî bikar bîne ji bo bernamekirinê û pêşdebirina fonksiyonên nû yên ku bi rêzê têne zêdekirin û di çarçoveya zimên de cîh digirin da ku ew pêşde bibe û bi hev re pêşve bibe.

Di strukturên pêkanîna her fonksiyonê de pêvajoyên hejmartinê yên cihêreng diqewimin. Li vir divê were zanîn ku pêdivî ye ku fonksiyon ji bikarhêner re xwedan xuyangek zelal û yekgirtî û xwendina dîtbar be. Di vê çarçoveyê de, fonksiyonên çêkirî yên Zimanê Wolfram bi zêdetirî 6000 mînakên li pey hev têne pêşkêş kirin ku meriv çawa fonksiyonên bi rêkûpêk bername dike (ev in vîdyoyên bernameyên zindîku tê de hene bi sedan demjimêr pêvajoya çêkirina bernameyên standard). Tiştê ku ev nêzîkatî di dawiyê de dihêle depoya taybetmendiya Wolfram bikaribe baş bixebite, cewhera avahîsaziya Zimanê Wolfram e, bi hejmareke zêde ya pirtûkxaneyên zêde û cihêreng ên ku berê di ziman de hatine çêkirin. Mînakî, heke we fonksiyonek heye ku wêneyan pêvajoyê dike, an array sparsean strukturên molekulîû herweha daneyên erdnîgarî an jî hinekên din - temsîla wan a sembolîk a hevgirtî jixwe di ziman de heye, û bi saya vê yekê, fonksiyona we tavilê bi fonksiyonên din ên ziman re têkildar dibe.

Afirandina depoyek ku bi rastî baş dixebite karekî meta-bernamekirinê ya balkêş e. Mînakî, zêdebûnek sînorkirinên di bernameyê de dê nehêle ku yekbûn û gerdûnîbûna algorîtmê ya pêwîst bidest bixin. Mîna ku bi hejmareke kêm sînorkirinên fonksiyonel re, hûn ê nikaribin rêzek têra xwe rast a darvekirina algorîtmayê bicîh bînin. Çend mînakên berê yên pêkanîna lihevkirina van nêzîkatiyan, ku ji hêla pargîdaniya me ve hatî bicîh kirin, bi domdarî xebitîn - ev in: Projeya Xwepêşandanên Tungstenê, di sala 2007-an de dest pê kir û naha bi serhêl bi zêdetirî 12000 demoyên înteraktîf ên bikarhêneran serhêl dimeşîne. LI Databasa Wolfram zêdetir ji 600 databases amade ne ku dikarin di Zimanê Wolfram bikaranîn hene, û Hilberîna tora neuralî ya Wolfram hema hema her hefte bi torên neuralî yên nû tê dagirtin (niha 118 ji wan hene) û ew tavilê bi fonksiyonê ve têne girêdan NetModel bi zimanê Wolfram.

Hemî mînakên jorîn xwedî taybetmendiyek bingehîn in - tişt û fonksiyonên ku di projeyê de têne berhev kirin xwedan astek pir bilind a avahîsazkirin û belavkirina pêvajoyan in. Bê guman, hûrguliya strukturê ya ku çi ye demo an tora neuralî an tiştek din dikare pir cûda bibe, lê avahiya bingehîn ji bo her depoyek heyî her gav yek dimîne. Ji ber vê yekê nêrîna we, bikarhênerê delal, di derbarê afirandina depoyek wusa ya ku pêvekên li zimanê Wolfram zêde dike çi ye? Zimanê Wolfram ji bo ku pir maqûl be hatiye sêwirandin, ji ber vê yekê dikare bi her awayî were dirêj kirin û guheztin. Ev rewş ji bo şiyana ku meriv zû bi zimanê Wolfram projeyên cûrbecûr yên nermalava mezin biafirîne pir girîng e. Li vir divê bê gotin ku her ku nermbûna zimên zêde bibe, lêçûna projeyên ku bi zimanekî wiha têne kirin bêguman zêde dibe. Ev ji ber vê yekê ye ku bikarhêner her ku bêtir zimanek weha bikar tîne, ew qas fonksiyonek diyarkirî distîne, lê divê em ji bîr nekin ku ev nêzîkatî dibe ku aliyên neyînî jî di warê nekaribûna peydakirina domdar a modulên bernameyê de hebe.

Di nav pirtûkxaneyên zimanên bernamenûsî yên kevneşopî de pirsgirêkek hevpar heye - heke hûn pirtûkxaneyek bikar bînin, wek nimûne, kod dê rast bixebite, lê heke hûn hewl bidin ku pir pirtûkxane bikar bînin, garantî tune ku ew ê bi hevûdu re rast têkilî daynin. . Di heman demê de, di zimanên bernamesaziyê yên kevneşopî de - berevajî zimanek hesabkerî ya bêkêmasî - bi tu awayî garantîkirina hebûna temsîlên çêkirî yên domdar ji bo her fonksiyon an celebên daneyê ji bilî strukturên wan ên bingehîn tune. Lê, bi rastî, pirsgirêk ji ya ku di nihêrîna pêşîn de xuya dike jî mezintir e: heke meriv fonksiyonek vertîkalek mezin ava dike, wê hingê bêyî lêçûnên mezin ên bernameya projeya navendî ya ku me di zimanê Wolfram de datîne, ne gengaz e ku meriv hevgirtinê bi dest bixin. Ji ber vê yekê girîng e ku hemî modulên nermalavê her gav rast bi hev re bixebitin.

Ji ber vê yekê ramana li paş depoya taybetmendiya Wolfram ev e ku meriv ji pirsgirêka ku li jor hatî destnîşan kirin dûr bisekine bi tenê pêvekirina zimanî di perçeyên piçûk ên kodê de bi navgîniya taybetmendiyên kesane yên ku hêsantir wekî modulên hevgirtî têne pêşve xistin. Wekî ku tê gotin, taybetmendiyên bernamekirinê hene ku bi karanîna fonksiyonên kesane rehet nayên çêkirin (û pargîdaniya me plan dike ku di pêşerojek nêzîk de algorîtmayek bernamesaziya xweşbîn berde da ku bibe alîkar ku pakêtên nermalava mezin bicîh bîne). Lêbelê, li ser bingeha fonksiyonên ku berê di Zimanê Wolfram de hatine çêkirin, gelek îmkanên bernamekirinê hene ku li ser bingeha fonksiyonên kesane têne bicîh kirin. Fikir li vir ev e ku bi hewildanek bernamesaziyê ya hindik re gengaz e ku meriv hejmarek fonksiyonên nû û pir bikêr biafirîne ku dê hevrêziyek têra sêwiranê peyda bike, ew ê bi hevûdu re baş bêne hevrêz kirin, û her weha, ji bilî vê, ew dê di paşerojê de bikaribe bi hêsanî û berfireh di zimên de bikar bîne.

Ev nêzîkatî, bê guman, lihevhatinek e. Ger pakêtek mezintir were bicîh kirin, cîhanek nû ya fonksiyonel dikare were xeyal kirin ku dê pir bi hêz û bikêr be. Ger hewce be ku hûn fonksiyonek nû bistînin ku dê bi her tiştê din re têkildar be, lê hûn ne amade ne ku ji bo pêşvebirina projeyê gelek hewl bidin, ev, mixabin, dikare bibe sedema kêmkirina çarçoveya projeya we. Fikra li pişt depoya taybetmendiya Wolfram ev e ku fonksiyonê ji beşek diyarker a projeyekê re peyda bike; ev nêzîkatî dê fonksiyonek hêzdar zêde bike dema ku di projeyek bernamekirinê de domandina hevrêziya baş hêsantir dike.

Alîkariya zêdekirina fonksiyonên xwerû li depoya fonksiyonê bikin

Tîmê me pir xebitî ku ji bikarhêneran re hêsan bike ku beşdarî taybetmendiyên depoya Wolfram bibin. Li ser sermaseyê (jixwe tê de ye guhertoya 12.0), Hûn dikarin bi tenê li ser tabloyên menuya sereke bi rêkûpêk derbas bibin: Pel> Nû> RepositoryItem> Tişta Depoya Fonksiyonê û hûn ê bistînin "Definition Notebook" (bi bernameyî di hundurê maseya xebatê de. Her weha hûn dikarin fonksiyona analog bikar bînin - Notebook ava bike["Çavkaniya fonksiyonê"]):

Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Du gavên sereke hene ku hûn ê hewce bikin ku hûn bikin: yekem, bi rastî kodê ji bo fonksiyona xwe binivîsin û, duyemîn, belgeyên ku diyar dikin ka fonksiyona we çawa dixebite binivîsin.
Bişkojka "Nimûneya Vekirî" ya li jor bikirtînin da ku mînakek tiştê ku hûn hewce ne bikin bibînin:

Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Di bingeh de, hûn hewl didin ku di Zimanê Wolfram de tiştek mîna fonksiyonek çêkirî biafirînin. Ji bilî ku ew dikare ji fonksiyonek çêkirî tiştek pir taybetîtir bike. Di heman demê de, hêviyên di derbarê temambûn û pêbaweriya wê de dê pir kêmtir bin.
Pêdivî ye ku hûn fonksiyona xwe navek bidin ku li gorî rêwerzên navên fonksiyonê yên Wolfram Language. Digel vê yekê, hûn ê hewce bikin ku ji bo fonksiyona xwe, mîna fonksiyonên çêkirî yên ziman, belgeyan pêşve bibin. Ez ê paşê li ser vê yekê bi berfirehî biaxivim. Heya nuha, tenê bala xwe bidin ku di rêza bişkokên li jorê pelê notebookê de bişkokek heye "Rêbernameyên şêwazê", ku rave dike ka çi bikin, û bişkokek Amûran, ku ji bo formatkirina belgeyên fonksiyona we amûran peyda dike.
Gava ku hûn pê ewle bûn ku her tişt bi rêkûpêk dagirtî ye û hûn amade ne, bişkoja "Kontrol bike" bikirtînin. Bi tevahî normal e ku we hîna hemî hûrguliyan fêhm nekiriye. Ji ber vê yekê fonksiyona "Check" dê bixweber bixebite û gelek şêwaz û kontrolên hevgirtî bike. Pir caran, ew ê tavilê ji we bixwaze ku hûn sererastkirinan piştrast bikin û bipejirînin (Mînakî: "Divê ev rêz bi kolonek biqede," û ew ê ji we bipirse ku hûn têkevin kolonek). Carinan ew ê ji we bixwaze ku hûn bixwe tiştek zêde bikin an biguhezînin. Em ê bi berdewamî taybetmendiyên nû li fonksiyona otomatîkî ya bişkojka Check-ê zêde bikin, lê di bingeh de mebesta wê ew e ku her tiştê ku hûn radestî depoya taybetmendiyê dikin jixwe ji nêz ve bi qasî ku gengaz rêwerzên şêwazê dişopînin.

Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Ji ber vê yekê, piştî xebitandina "Kontrol bike", hûn dikarin "Pêşdîtin" bikar bînin. "Pêşdîtin" pêşdîtinek rûpela belgekirinê ya ku we ji bo fonksiyona xwe diyar kiriye diafirîne. Her weha hûn dikarin ji bo pelek ku li ser komputera we hatî çêkirin an ji bo pelek ku di hilanîna ewr de ye pêşdîtinek biafirînin. Ger ji ber hin sedeman hûn ji tiştê ku hûn di pêşdîtinê de dibînin ne razî ne, tenê vegerin û sererastkirinên pêwîst bikin, û dûv re dîsa bişkojka Pêşdîtinê bikirtînin.
Naha hûn amade ne ku fonksiyona xwe bixin nav depoyê. Bişkojka Deploy çar vebijarkan dide we:

Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Di vê gavê de ya girîng ev e ku hûn fonksiyona xwe bişînin depoya fonksiyona Wolfram da ku ew ji her kesî re peyda bibe. Di heman demê de, hûn dikarin fonksiyona xwe ji bo hejmarek sînorkirî ya bikarhêneran jî bicîh bikin. Mînakî, hûn dikarin fonksiyonek biafirînin ku li ser komputera we li cîhê mêvandar e, da ku dema ku hûn wê komputera taybetî bikar tînin peyda bibe. An jî hûn dikarin wê di nav xwe de bişînin hesabê ewr, da ku gava ku hûn bi ewr ve girêdayî ne ji we re peyda dibe. Her weha hûn dikarin taybetmendiyê bi navgîniya hesabê xweya cloudê re bi gelemperî mêvandar bikin (bicihînin). Ew ê ne di depoya taybetmendiya Wolfram ya navendî de be, lê hûn ê bikaribin URLek bidin kesek ku dê bihêle ku ew taybetmendiya we ji hesabê we bistînin. (Di pêşerojê de, em ê li seranserê pargîdaniya xwe jî depoyên navendî piştgirî bikin.)

Ji ber vê yekê em bibêjin ku hûn dixwazin bi rastî fonksiyona xwe bişînin bingeha zanîna fonksiyona Wolfram. Ji bo vê yekê, hûn bişkojka "Submit" bişkojka depoyê bikirtînin. Îcar wê demê çi diqewime? Serlêdana we tavilê ji bo vekolîn û pejirandinê ji hêla tîmê meya veqetandî ya kedkaran ve tê rêz kirin.

Gava ku serîlêdana we di pêvajoya pejirandinê de pêşve diçe (ku bi gelemperî çend rojan digire), hûn ê di derheqê rewşa wê de û dibe ku pêşniyarên ji bo karanîna pêşerojê de ragihînin bistînin. Lê gava ku taybetmendiya we were pejirandin, ew ê tavilê li Depoya Taybetmendiyê ya Wolfram were weşandin û dê ji her kesî re peyda bibe ku bikar bîne. (Û ev dê di nav de xuya bibe nûçe taybetmendiyên nû vedibêje hwd.)

Divê di depoyê de çi be?

Divê were zanîn ku pargîdaniya me ji bo tambûn, pêbawerî û kalîteya giştî xwedan standardên pir bilind e, û ji 6000+ fonksiyonên ku me di van 30+ salên borî de berê xwe daye zimanê Wolfram, hemî hewcedariyên jorîn bicîh tînin. Armanca Depoya Fonksiyonê ya Wolfram ew e ku hemî avahî û fonksiyonên ku berê di Zimanê Wolfram de hene bikar bîne da ku bi qasî ku gengaz be fonksiyonên pir sivik (ango fonksiyonên performansa bilindtir) zêde bike.

Bê guman, fonksiyonên di depoya fonksiyona Wolfram de divê li gorî prensîbên sêwiranê yên Zimanê Wolfram-ê tevbigerin - da ku ew bi tevahî bi fonksiyonên din û hêviyên bikarhêneran re têkilî daynin ka fonksiyon çawa bi rêkûpêk bixebite. Lêbelê, fonksiyon ne hewce ne ku bi tevahî an pêbaweriya wekhev bin.

Di fonksiyonên çêkirî yên zimanê Wolfram de, em bi dijwarî dixebitin ku fonksiyonên bernamekirinê bi qasî ku gengaz be gelemperî bikin. Wusa tê gotin, dema ku di depoya fonksiyona Wolfram de tiştek xelet tune ku tê de fonksiyonek hebe ku bi tenê dozek pir taybetî lê bikêr bi rê ve dibe. Ji bo nimûne, fonksiyonê SendMailFromNotebook dikare pelan di yek formek taybetî de werbigire û bi rengek taybetî nameyê biafirîne. Diyagrama Polygonal nexşeyan tenê bi hin reng û etîketan çêdike, hwd.

Xalek din a ku bi fonksiyonên çêkirî ve girêdayî ye ev e ku pargîdaniya me her hewil dide ku hemî dozên netîpîkî bi rê ve bibe, bi rêkûpêk têketina xelet û hwd. Di depoyek fonksiyonê de, bi tevahî normal e ku fonksiyonek taybetî hebe ku dozên sereke yên çareserkirina pirsgirêkê digire û hemî yên din paşguh dike.

Xala diyar ev e ku çêtir e ku meriv fonksiyonên ku bêtir dikin û çêtir bikin hebin, lê xweşbînkirina depoyek fonksiyonê - berevajî fonksiyonên çêkirî yên zimanê Wolfram - divê bêtir fonksiyonên ku bi fonksiyonên pirtir ve girêdayî ne li şûna ku di nav de bikolin. pêvajoyên pêkanîna her fonksiyonek taybetî.

Naha em li mînakek fonksiyonên ceribandinê yên di depoyekê de binêrin. Hêviyên hevgirtinê ji bo fonksiyonên weha bi xwezayî ji fonksiyonên zimanî yên çêkirî pir kêmtir in. Ev bi taybetî di rewşên ku fonksiyonên bi çavkaniyên derveyî yên wekî API ve girêdayî ne rast e, girîng e ku bi domdarî ceribandinên domdar bêne kirin, ku bixweber di nav algorîtmayên verastkirinê de çêdibe. Di pelê nb de, hûn dikarin bi eşkere pênaseyan (di beşa Agahdariya Zêde) de diyar bikin û bi qasî ceribandinên ku ji hêla têlên ketin û derketinê an jî bi tîpên tîpên tîpan ve hatine destnîşankirin diyar bikin. VerificationTest, bi qasî ku hûn guncan dibînin. Wekî din, pergal bi domdarî hewl dide ku mînakên belgekirinê yên ku hûn pêşkêşî dikin veguhezîne pêvajoyek verastkirinê (û carinan ev dibe ku çavkaniyek pir giran be, mînakî, ji bo fonksiyonek ku encama wê bi hejmarên rasthatî an dema rojê ve girêdayî ye).

Wekî encamek, depoya fonksiyonê dê gelek tevliheviyên pêkanînê hebe. Hin dê tenê yek rêzek kodê bin, yên din dikarin bi hezaran an bi deh hezaran rêzan tevbigerin, dibe ku gelek fonksiyonên alîkar bikar bînin. Kengê hêja ye ku fonksiyonek ku ji bo destnîşankirina kodek pir hindik hewce dike lê zêde bike? Di bingeh de, heke ji bo fonksiyonek hebe navê mînemonîk baş, ku bikarhêner dê bi hêsanî fêm bikin ger ew di perçeyek kodê de bibînin, wê hingê ew dikare jixwe were zêdekirin. Wekî din, belkî çêtir e ku hûn her gava ku hûn hewce ne ku wê bikar bînin kodê ji nû ve li bernameya xwe zêde bikin.

Armanca sereke ya depoya fonksiyonê (wek ku navê wê diyar dike) ew e ku taybetmendiyên nû di ziman de destnîşan bike. Heke hûn dixwazin daneyên nû lê zêde bikin an saziyên nû, bikar bînin Depoya Daneyên Wolfram. Lê heke hûn dixwazin ji bo hesabên xwe cûreyên nû yên tiştan destnîşan bikin?

Bi rastî du rê hene. Dibe ku hûn bixwazin celebek tiştek nû ya ku dê di fonksiyonên nû yên di depoya fonksiyonê de were bikar anîn destnîşan bikin. Û di vê rewşê de, hûn her gav dikarin tenê temsîla wê ya sembolîk binivîsin û dema ku fonksiyonên di depoyek fonksiyonê de têxin an derdixin wê bikar bînin.

Lê heke hûn bixwazin ku hêmanek temsîl bikin û dûv re bi fonksiyonên heyî yên di Zimanê Wolfram de diyar bikin ku hûn dixwazin pê re bixebitin? Zimanê Wolfram ji bo vê yekê her dem xwediyê mekanîzmayek sivik e, ku jê re tê gotin UpValues. Bi hin qedexeyan (bi taybetî ji bo fonksiyonên ku nikare argumanên wan binirxîne), depoyek fonksiyonê dihêle hûn bi tenê fonksiyonek temsîl bikin û ji bo wê nirxan diyar bikin. (Zêdekirina hêviyên hevgirtinê dema afirandina sêwiranek mezin a nû ya ku bi tevahî li seranserê Zimanê Wolfram yekbûyî ye, bi gelemperî pêvajoyek pir girîng e ku bi tenê zêdekirina lêçûna projeyê nayê bidestxistin û tiştek e ku pargîdaniya me wekî beşek projeyan dike. ji bo pêşveçûna zimanî ya demdirêj, ev kar ne armancek e ku wekî beşek ji pêşkeftina depoyê hatî destnîşan kirin).

Ji ber vê yekê, dibe ku di koda fonksiyonê de di depoyek fonksiyonê de çi be? Her tişt di Zimanê Wolfram de hatî çêkirin, bê guman (bi kêmanî heke ew temsîl nake tehdîtan bo ewlehiyê û performansa bernameyê bixwe, wekî hawîrdorek hesabkirinê) û her weha her fonksiyonek ji depoya fonksiyonê. Lêbelê, fonksiyonên din jî hene: fonksiyonek di depoyek fonksiyonê de dikare API-yê, an jî tê de bang bike Wolfram Cloudan jî ji çavkaniyek din. Bê guman, hin xetereyên bi vê yekê ve girêdayî hene. Ji ber vê rastiyê ku garantî tune ku API nayê guhertin, û fonksiyona di firotgeha fonksiyonê de dê bixebite. Ji bo arîkariya naskirina pirsgirêkên bi vî rengî, li ser rûpela belgekirinê (di beşa Pêdiviyan de) ji bo her taybetmendiyek ku ji fonksiyona Wolfram Ziman a çêkirî wêdetir ve girêdayî ye, têbînîyek heye. (Bê guman, dema ku dor tê ser daneyên rastîn, di heman demê de bi vê fonksiyonê re jî dibe ku pirsgirêk hebin - ji ber ku daneyên cîhana rastîn bi domdarî diguhezin, û carinan jî pênasîn û strukturên wê diguhezin.)

Ma hemî kodên ji bo depoya taybetmendiya Wolfram di Wolfram de bêne nivîsandin? Bê guman, koda di hundurê API-ya derveyî de divê bi zimanê Wolfram neyê nivîsandin, ku ew jî koda zimanî nake. Bi rastî, heke hûn hema hema di her zimanek an pirtûkxaneyek derveyî de fonksiyonek bibînin, hûn dikarin pêçekek biafirînin ku dihêle hûn wê di depoya fonksiyona Wolfram de bikar bînin. (Bi gelemperî divê hûn ji bo vê fonksiyonên çêkirî bikar bînin ExternalEvaluate an Karê Derveyî bi koda zimanê Wolfram.)

Ji ber vê yekê kirina vê yekê çi ye? Di bingeh de, ev dihêle hûn pergala entegre ya Wolfram Ziman û tevahî kapasîteyên nermalava wê yên yekbûyî bikar bînin. Heke hûn pêkanîna bingehîn ji pirtûkxaneyek an zimanek derveyî bistînin, hûn hingê dikarin avahiya sembolîk a dewlemend a Zimanê Wolfram bikar bînin da ku fonksiyonek asta jorîn a hêsan biafirînin ku destûrê dide bikarhêner ku bi hêsanî her fonksiyonek ku jixwe hatî bicîh kirin bikar bînin. Bi kêmanî, divê ev yek di cîhanek îdeal de pêk were ku tê de hemî blokên avahî yên barkirina pirtûkxaneyan û hwd hene, di vê rewşê de ew ê bixweber ji hêla Zimanê Wolfram ve werin hilanîn. (Divê were zanîn ku di pratîkê de dibe ku pirsgirêk hebin sazkirina zimanên derve pergala komputerê ya taybetî, û hilanîna ewr dibe ku pirsgirêkên ewlehiyê yên din derxe holê).

Bi awayê, gava ku hûn yekem car li pirtûkxaneyên derveyî yên tîpîk dinêrin, ew bi gelemperî pir tevlihev xuya dikin ku tenê di çend fonksiyonan de têne nixumandin, lê di pir rewşan de, pir ji tevliheviyê ji afirandina binesaziya ku ji bo pirtûkxaneyê û hemî fonksiyonên hewcedar in tê. piştgiriya wê bikin. Lêbelê, dema ku Zimanê Wolfram bikar bînin, binesaziyek bi gelemperî jixwe di pakêtan de hatî çêkirin, û ji ber vê yekê ne hewce ye ku hemî van fonksiyonên piştgiriyê bi hûrgulî eşkere bikin, lê tenê fonksiyonên ji bo fonksiyonên serîlêdanê yên "herî jorîn" ên di pirtûkxaneyê de biafirînin. .

"Ekosîstema" ya bingeha zanînê

Ger we fonksiyonên ku hûn bi rêkûpêk bikar tînin nivîsandine, wan bişînin Depoya Fonksiyona Wolfram! Ger tiştek bêtir ji vê yekê dernekeve (pêşveçûna ziman), wê hingê jî ew ê ji we re pir hêsantir be ku hûn fonksiyonan ji bo karanîna kesane bikar bînin. Lêbelê, mentiqî ye ku meriv texmîn bike ku heke hûn fonksiyonan bi rêkûpêk bikar bînin, dibe ku bikarhênerên din jî wan bikêr bibînin.

Bi xwezayî, hûn dikarin xwe di rewşek de bibînin ku hûn nekarin - an jî nexwazin - fonksiyonên xwe parve bikin an jî di bûyera gihîştina çavkaniyên agahdariya taybet de. Tewra di rewşên weha de, hûn dikarin bi tenê fonksiyonan di hesabê cloudê xwe de bicîh bikin, diyarkirina mafan gihîştina wan. (Heke rêxistina we heye Wolfram Enterprise ewr taybet, wê hingê ew ê di demek nêzîk de bikaribe depoya taybetmendiya xwe ya taybet bihewîne, ku dikare ji hundurê rêxistina we were rêvebirin û destnîşan bike ka dê zorê bide dîtinan ku ji hêla bikarhênerên sêyemîn ve werin dîtin an na.)

Ne hewce ye ku fonksiyonên ku hûn pêşkêşî depoya fonksiyonê ya Wolfram dikin bêkêmasî bin; ew tenê divê kêrhatî bin. Di belgeyên Unix-ê yên klasîk de ev hinekî mîna beşa "Çewtiyan" e - di "Beşa Pênaseyan" de beşa "Nîşeyên Nivîskar" heye ku hûn dikarin sînorkirin, pirsgirêk û hwd ku hûn berê di derbarê fonksiyona xwe de dizanin vebêjin. Wekî din, gava ku hûn taybetmendiya xwe radestî depoyê dikin, hûn dikarin nîşeyên radestkirinê yên ku dê ji hêla tîmek taybetî ya kuratoran ve werin xwendin lê zêde bikin.

Dema ku taybetmendiyek hate weşandin, rûpela wê her gav du girêdan li jêr heye: "Di derbarê vê taybetmendiyê de peyamek bişînin"And"Di civata Wolfram de gotûbêj bikin" Heke hûn têbînîyek girêdidin (mînak, ji min re qala xeletiyan bikin), hûn dikarin qutiya ku dibêje hûn dixwazin peyam û agahdariya têkiliyê bi nivîskarê taybetmendiyê re werin parve kirin kontrol bikin.

Carinan hûn tenê dixwazin fonksiyonên ji depoya fonksiyona Wolfram, wekî fonksiyonên çêkirî, bêyî ku li koda wan mêze bikin, bikar bînin. Lêbelê, heke hûn dixwazin li hundurê binêre, her gav bişkojek Notepad li jorê heye. Li ser bikirtînin û hûn ê kopiyek xweya notebooka pênaseya orîjînal a ku ji depoya taybetmendiyê re hatî şandin bistînin. Carinan hûn dikarin wê ji bo hewcedariyên xwe tenê wekî mînakek bikar bînin. Di heman demê de, hûn dikarin guhartina xwe ya vê fonksiyonê jî pêşve bibin. Dibe ku hûn bixwazin van fonksiyonên ku we ji depoya li ser komputera xwe an jî di hesabê hilanîna cloudê ya aphid de dîtine bişînin, dibe ku hûn bixwazin wan bişînin bingeha zanîna fonksiyonê, dibe ku wekî guhertoyek çêtir, berfireh a fonksiyona orjînal.

Di paşerojê de, em plan dikin ku ji bo depoyên taybetmendiyê piştgirî bidin forking-style Git, lê heya niha em hewl didin ku wê sade bihêlin, û me her gav tenê guhertoyek pejirandî ya her taybetmendiyê di ziman de heye. Pir caran (heya ku pêşdebir dev ji domandina taybetmendiyên ku xwe pêş xistine bernedin û bersivê bidin radestkirinên bikarhêner), nivîskarê eslî yê taybetmendiyê nûvekirinên wê digire destê xwe û guhertoyên nû pêşkêş dike, ku dûv re têne vekolandin û ger ew pêvajoya vekolînê derbas bikin. , bi ziman weşiya.

Ka em li ser pirsa "guhertoya" fonksiyonên pêşkeftî çawa bixebitin. Naha, gava ku hûn fonksiyonek ji depoya fonksiyonê bikar tînin, pênaseya wê dê bi domdarî li ser komputera we were hilanîn (an jî di hesabê weya ewr de heke hûn ewr bikar tînin). Ger guhertoyek nû ya taybetmendiyekê hebe, gava ku hûn wê bikar bînin hûn ê peyamek bistînin ku we ji vê yekê agahdar dike. Û heke hûn dixwazin fonksiyonê bi guhertoyek nû nûve bikin, hûn dikarin bi karanîna fermanê bikin ResourceUpdate. ("Fonksiyon blob" bi rastî bêtir agahdariya guhertoyê hilîne, û em plan dikin ku di pêşerojê de vê yekê ji bikarhênerên xwe re bigihînin.)

Yek ji tiştên xweş ên li ser Depoya Fonksiyona Wolfram ev e ku her bernameyek Ziman a Wolfram, li her deverê dikare fonksiyonên jê bikar bîne. Ger bername di notepadekê de xuya bibe, pir caran hêsan e ku meriv fonksiyonên depoyê wekî fonksiyonên "fonksiyona binaryê" ya hêsan-xwendinê format bike (dibe ku bi komek guhertoyek maqûl).

Hûn dikarin her gav bi karanîna nivîsê bigihîjin her fonksiyonê di depoya fonksiyonê de Fonksiyona Çavkaniyê[...]. Û ev pir hêsan e heke hûn rasterast ji bo Engine Wolfram-ê kod an nivîsar binivîsin, mînakî, bi bi karanîna edîtorek IDE an koda nivîsê (Divê bi taybetî were zanîn ku depoya fonksiyonê bi tevahî lihevhatî ye Engine Wolfram Free ji bo Pêşdebiran).

Çawa dixebite?

Di hundurê fonksiyonên di depoya Wolfram de ev yek bi heman rengî bi karanîna gengaz dibe pergalên çavkaniyê bingeh, wekî di hemû depoyên me yên din ên heyî (firoşgeha daneyan, Depoya Neural Net, berhevoka projeyên demo hwd.), mîna hemî çavkaniyên din ên pergala Wolfram, ResourceFunction di dawiyê de li ser fonksiyonê ye ResourceObject.

Bifikirin ResourceFunction:

Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Di hundurê de hûn dikarin hin agahdarî bi karanîna fonksiyonê bibînin agahî:

Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Sazkirina fonksiyonek çavkaniyê çawa dixebite? Ya herî hêsan dozek bi tevahî herêmî ye. Li vir mînakek heye ku fonksiyonek digire (di vê rewşê de tenê fonksiyonek paqij) û wê wekî fonksiyonek çavkaniyê ji bo danişîna bernameyê diyar dike:

Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Piştî ku we pênase çêkir, hûn dikarin fonksiyona çavkaniyê bikar bînin:

Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Bala xwe bidinê ku di bloba vê fonksiyonê de îkonek reş heye Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî. Ev tê vê wateyê ku fonksiyona BLOB fonksiyona çavkaniya bîrê ya ku ji bo danişîna heyî hatî destnîşan kirin vedibêje. Taybetmendiyek çavkaniyê ya ku bi domdarî li ser komputera we an hesabê cloudê tê hilanîn îkonek gewr heye Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî. Û di Depoya Taybetmendiyê ya Wolfram de ji bo taybetmendiyek çavkaniyek fermî îkonek porteqalî heye Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî.

Ji ber vê yekê gava ku hûn menuya Berfirehkirinê di Notebooka Pênaseyê de bikar tînin çi diqewime? Pêşîn, ew hemî pênaseyên di notepadê de digire û ji wan sembolek diafirîne ResourceObject). (Û heke hûn IDE an bernameyek-based nivîsê bikar tînin, wê hingê hûn dikarin bi eşkere jî biafirînin ResourceObject)

Rakirina herêmî ya fonksiyonek ji depoyek li ser komputera we bi karanîna fermanê tête kirin LocalCache ji bo hêmanek çavkaniyê ku wê wekî xilas bike LocalObject li ser pergala pelê xwe. Sazkirina hesabek cloudê bi karanîna fermanê tête kirin CloudDeploy ji bo çavkaniyek çavkaniyê ye, û vesazkirina ewr a gelemperî ye CloudPublish. Di hemû rewşan de ResourceRegister ji bo qeydkirina navê fonksiyona çavkaniyê jî tê bikar anîn, lewra Fonksiyona Çavkaniyê["nav"] dê bixebite.

Ger hûn ji bo Depoyek Fonksiyonek bişkojka Bişînin bikirtînin, di binê wê de çi diqewime ResourceSubmit li ser object çavkaniyê tê gotin. (Û heke hûn têkiliyek têketina nivîsê bikar tînin, hûn dikarin jî telefon bikin ResourceSubmit rasterast.)

Bi xwerû, radestkirin di bin navê ku bi nasnameya weya Wolfram ve girêdayî ye têne kirin. Lê heke hûn li ser navê tîmek pêşkeftinê an rêxistinek serîlêdanê radest dikin, hûn dikarin Nasnameya weşangerê cuda destnîşan bikin û li şûna wê wekî nav bikar bînin da ku bi dîtinên we re têkilî daynin.

Piştî ku we yek ji fonksiyonên xwe radestî bingeha zanîna fonksiyonê kir, ew ê ji bo vekolînê were rêz kirin. Ger hûn di bersivê de şîroveyan bistînin, ew ê bi gelemperî di forma pelek nivîsê de bin ku "hucreyên şîroveyê" yên din lê hatine zêdekirin. Hûn dikarin her gav bi serdanê rewşa serlêdana xwe kontrol bikin portal endamê pergala çavkaniyê. Lê gava ku taybetmendiya we were pejirandin, hûn ê (bi e-nameyê) agahdar bibin û taybetmendiya we dê li depoya taybetmendiya Wolfram were şandin.

Hin hûrgelên di xebatê de

Di nihêrîna pêşîn de dibe ku wisa xuya bike ku hûn tenê dikarin defterek pênase hildin û wê bi devkî têxin nav depoyek fonksiyonê, lêbelê, bi rastî jî gelek hûrgulî tê de hene - û girtina wan hewce dike ku meriv hin meta-bernamesaziyek pir tevlihev, hilgirtina pêvajoyek sembolîk bike. wekî koda ku fonksiyonê diyar dike, û Notepad bixwe tê destnîşan kirin. Piraniya vê di hundurê xwe de, li pişt perdeyê diqewime, lê heke hûn ê beşdarî bingeha zanîna taybetmendiyê bibin, ew dikare hin encamên ku hêjayî têgihîştinê ne hebin.

Zelaliya yekem a bilez: Dema ku hûn Definition Notebook tijî dikin, hûn dikarin li her deverê bi karanîna navek wekî wekî fonksiyona xwe binihêrin MyFunction, ku ji bo fonksiyonek di Zimanê Wolfram de wekî navek birêkûpêk xuya dike, lê ji bo belgekirina depoya fonksiyonê ev tê guheztin. Fonksiyona Çavkaniyê["MyFunction"] dema ku bi fonksiyonê re dixebitin dê bikarhêner bi rastî bikar bînin.

Zelaliya duyemîn: gava ku hûn fonksiyonek çavkaniyek ji Definition Notebook diafirînin, pêdivî ye ku hemî girêdanên ku di pênasekirina fonksiyonê de têkildar in werin girtin û bi eşkereyî bêne nav kirin. Lêbelê, ji bo ku pênase modular bimînin, hûn hewce ne ku her tiştî bi rengek bêhempa bixin cîhê navan. (Bê guman, fonksiyonên ku her tiştî dikin, di depoya fonksiyonê de ne.)

Bi gelemperî hûn ê çu carî şopek koda ku ji bo mîhengkirina vê navan tê bikar anîn nebînin. Lê heke ji ber hin sedeman hûn di hundurê fonksiyona xwe de sembolek kêm-darvekirî bang bikin, wê hingê hûn ê bibînin ku ev sembol di çarçoveya hundurê fonksiyonê de ye. Lêbelê, dema ku Definition Notepad tê xebitandin, bi kêmanî sembola ku bi fonksiyonê bixwe re têkildar e verastkirin ji bo baştirîn display wekî BLOB fonksiyonel ji bilî karakterek xav di çarçoveyek hundurîn de.

Depoya fonksiyonê ji bo diyarkirina fonksiyonên nû ye. Û dibe ku van fonksiyonan vebijark hebin. Pir caran ev pîvan (mînak, Awa an ImageSize) dê bikaribe ji bo fonksiyonên çêkirî were bikar anîn, û hem jî ji bo yên ku ji berê ve sembolên çêkirî hene. Lê carinan dibe ku taybetmendiyek nû vebijarkên nû hewce bike. Ji bo ku modularîteyê were domandin, pêdivî ye ku ev parametre di çarçoveyek hundurîn a yekta de (an tiştek mîna fonksiyonên tevahî çavkaniyê, ango bixwe, bi xwe) sembol bin. Ji bo sadebûnê, depoya fonksiyonê dihêle hûn vebijarkên nû di pênaseyên rêzikê de destnîşan bikin. Û ji bo rehetiya bikarhêner, van pênase (bihesibînin ku ew bikar anîne OptionValue и OptionsPattern) di heman demê de têne pêvajo kirin da ku dema ku fonksiyonan bikar tînin, parametre ne tenê wekî rêzan, lê di heman demê de wekî sembolên gerdûnî yên bi heman navan jî bêne diyar kirin.

Piraniya fonksiyonan her gava ku têne gazî kirin tenê tiştê ku divê bikin dikin, lê hin fonksiyon hewce ne ku berî ku ew di danişînek taybetî de bimeşînin - û ji bo çareserkirina vê pirsgirêkê, di beşa Pênasînê de beşa "Destpêkirin" heye.

Fonksiyonên ji depoyek dikarin fonksiyonên din ên ku berê di depoyê de ne bikar bînin; ji bo ku hûn pênaseyên depoyek fonksiyonê ku du (an jî zêdetir) fonksiyonên ku ji hev re referansê dikin dihewîne saz bikin, divê hûn wan di danişîna bernameya xwe de bicîh bikin da ku hûn bikarin referansa wek wan Fonksiyona Çavkaniyê["nav"], wê hingê hûn dikarin berhevokên van fonksiyonên ku hûn hewce ne, mînakan (min fêm nekir) biafirînin û li gorî yên ku berê hatine şandin fonksiyonek nû li depoyê zêde bikin. (an jixwe an berê - her du peyv jî neqelp in)

Perspektîfên pêşveçûnê. Dema ku depo bi rastî mezin bibe divê çi bibe?

Îro em tenê Depoya Taybetmendiyê ya Wolfram dest pê dikin, lê bi demê re em li bendê ne ku mezinahî û fonksiyona wê bi rengek berbiçav zêde bibe, û her ku ew di pêşkeftinê de mezin dibe dê pirsgirêkên cihêreng ên ku em jixwe pêşbînî dikin derkevin holê.

Pirsgirêka yekem navên fonksiyonan û taybetmendiya wan eleqedar dike. Depoya fonksiyonê bi vî rengî hatî sêwirandin ku, mîna fonksiyonên çêkirî yên di Zimanê Wolfram de, hûn dikarin her fonksiyonek diyarkirî bi tenê bi diyarkirina navê wê referans bikin. Lê ev bê guman tê vê wateyê ku divê navên fonksiyonan li seranserê depoyê li seranserê cîhanê yekta bin, da ku, mînakî, tenê yek hebe. Fonksiyona Çavkaniyê["MyFavoriteFunction"].

Dibe ku ev di destpêkê de wekî pirsgirêkek mezin xuya bike, lê hêja ye ku meriv zanibe ku ew di bingeh de heman pirsgirêk e ku ji bo tiştên wekî domên înternetê an destikên medyaya civakî ye. Û rastî ev e ku pergal bi tenê pêdivî ye ku qeydek hebe - û ev yek ji wan rolan e ku pargîdaniya me dê ji bo bingeha zanîna fonksiyona Wolfram bike. (Ji bo guhertoyên taybet ên depoyek, dibe ku qeydkerên wan rêveber bin.) Bê guman, domainek Înternetê bêyî ku tiştek li ser hebe dikare were tomar kirin, lê di depoyek fonksiyonê de, navek fonksiyonek tenê dikare were tomar kirin heke pênaseyek rastîn hebe. fonksiyonê.

Beşek ji rola me ya di birêvebirina bingeha zanîna fonksiyona Wolfram de ev e ku em pê ewle bin ku navê ku ji bo fonksiyonê hatî hilbijartin li gorî pênaseya fonksiyonê mentiqî ye û ew li gorî peymanên navên Zimanê Wolfram dişopîne. Zêdetirî 30 sal ezmûna me ya binavkirina fonksiyonên çêkirî yên bi Zimanê Wolfram heye, û tîmê me yê çavdêran dê wê ezmûnê jî bîne depoya fonksiyonê. Helbet her tim îstîsna hene. Mînakî, dibe ku çêtir xuya bike ku ji bo hin fonksiyonek navek kurt hebe, lê çêtir e ku meriv bi navek dirêjtir û taybetîtir "parastinê" bike ji ber ku hûn kêm in ku hûn bi yekî ku bixwaze di pêşerojê de navek fonksiyonek wusa çêbike. .

(Divê li vir were zanîn ku bi tenê lê zêdekirina hin etîketên endam ji bo fonksiyonên nezelalkirinê dê bandora mebesta we tune be. Ji ber ku heya ku hûn israr nekin ku tagek her gav tête destnîşan kirin, hûn ê hewce bikin ku ji bo her fonksiyonek diyar etîkek xwerû diyar bikin û nivîskar jî veqetînin. etîketan, ku dîsa dê hewceyê hevrêziya gerdûnî bike.)

Her ku bingeha zanînê ya fonksiyonên Wolfram mezin dibe, yek ji wan pirsgirêkên ku dê çêbibin vedîtina fonksiyonan e, ku pergalê ji bo wan peyda dike. fonksiyona lêgerînê (û pelên pênase dibe ku peyvên sereke, hwd.). Ji bo fonksiyonên çêkirî yên di Zimanê Wolfram de, di belgeyê de her cûre referansên xaçê hene ku ji bo "reklama" fonksiyonan bibin alîkar. Fonksiyonên di depoyek fonksiyonê de dikarin fonksiyonên çêkirî referans bikin. Lê li ser riya din çi ye? Ji bo vê yekê, em ê bi sêwiranên cihêreng ceribandinê bikin da ku fonksiyonên depoyê di rûpelên belgekirinê de ji bo fonksiyonên çêkirî eşkere bikin.

Ji bo fonksiyonên çêkirî yên di Zimanê Wolfram de bi navê qatek tespîtkirinê tê peyda kirin tora "rûpelên alîkariyê", ku navnîşên organîzekirî yên taybetmendiyên girêdayî deverên taybetî peyda dikin. Her gav dijwar e ku meriv rûpelên meriv bi rêkûpêk hevseng bike, û her ku zimanê Wolfram mezin dibe, rûpelên meriv bi gelemperî hewce ne ku bi tevahî ji nû ve werin organîze kirin. Pir hêsan e ku meriv fonksiyonan ji depoyek bike nav kategoriyên berfireh, û tewra jî bi domdarî wan kategoriyan perçe bike, lê pir bi qîmettir e ku meriv rûpelên referansa zimanî bi rêkûpêk organîzekirî be. Hîn ne diyar e ka meriv çawa çêtirîn wan ji bo bingeha zanîna fonksiyonê ya tevahî biafirîne. Bo nimûne, CreateResourceObjectGallery di depoya taybetmendiyê de, her kes dikare rûpelek malperê ku tê de "hilbijarkên" xwe ji depoyê vedihewîne bişîne:

Depoya Fonksiyona Wolfram: Ji bo dirêjkirina zimanê Wolfram platforma gihîştina vekirî

Depoya fonksiyona Wolfram wekî depoyek fonksiyonê ya domdar tête mîheng kirin, ku her fonksiyonek tê de dê her gav bixebite. Bê guman, dibe ku guhertoyên nû yên taybetmendiyê peyda bibin, û em li bendê ne ku hin taybetmendî bê guman bi demê re kevin bibin. Fonksiyon dê bixebitin heke ew di bernameyan de werin bikar anîn, lê rûpelên wan ên belgekirinê dê bi fonksiyonên nû, pêşkeftî ve girêdayî bin.

Depoya Taybetmendiyê ya Wolfram ji bo ku ji we re bibe alîkar ku hûn zû taybetmendiyên nû kifş bikin û awayên nû yên karanîna zimanê Wolfram fêr bibin hatî çêkirin. Em pir geşbîn in ku hin ji yên ku di depoya taybetmendiyê de hatine vekolîn dê di dawiyê de watedar bibin ku bibin beşên bingehîn ên Zimanê Wolfram-ê. Di deh salên dawîn de me komek bi heman rengî hebû taybetmendiyên ku bi eslê xwe di Wolfram de hatin destnîşan kirin | Alpha. Û yek ji wan dersên ku ji vê ezmûnê hatine derxistin ev e ku gihîştina standardên kalîteyê û hevgirtî yên ku em li ser her tiştê ku di zimanê Wolfram de hatî çêkirin de balê dikişîne gelek kar hewce dike, ku pir caran ji hewldana destpêkê ya pêkanîna ramanê dijwartir e. Digel vê yekê, fonksiyonek di bingeha zanîna fonksiyonê de dikare wekî delîlek têgînek pir bikêr ji bo fonksiyonek pêşerojê ku dibe ku di dawiyê de di zimanê Wolfram de were çêkirin xizmet bike.

Li vir tiştê herî girîng ev e ku fonksiyonek di depoyek fonksiyonê de tiştek e ku ji bo her bikarhênerek heye ku nuha bikar bîne. Mimkun e ku taybetmendiyek zimanê zikmakî pir çêtir û bikêrtir be, lê depoyek taybetmendiyê dê bihêle ku bikarhêner tavilê bigihîjin hemî taybetmendiyên nû. Û, ya herî girîng, ev têgeh dihêle ku her kes taybetmendiyên nû yên ku ew dixwazin lê zêde bike.

Berê di dîroka zimanê Wolfram de, ev raman bi qasî ku tê de nedihat xebitandin, lê di vê qonaxê de ew qas hewildanek li ser zimên heye, û têgihiştinek wusa kûr a prensîbên sêwirana zimanî, ku nuha pir xuya dike. mimkun e ku civakek mezin a bikarhêneran taybetmendiyên ku dê domdariya sêwiranê bidomîne zêde bike da ku wan ji bo pir bikarhêneran kêrhatî bike.

Di civata bikarhênerên Wolfram Language de giyanek jêhatî(?) ya bêhempa heye. (Bêguman, ev civat di warên cûrbecûr de gelek mirovên pêşeng ên R&D vedihewîne.) Ez hêvî dikim ku Depoya Taybetmendiyê ya Wolfram platformek bi bandor ji bo vekirina û belavkirina vî ruhê jêhatî peyda bike. Tenê bi hev re em dikarin tiştek biafirînin ku dê bi girîngî qada ku paradîgmaya hesabkirina zimanê Wolfram lê were sepandin berfireh bike.

Di zêdetirî 30 salan de, em bi zimanê Wolfram re rêyek dirêj derbas kirin. Niha em bi hev re, hê bêtir biçin. Ez hemî bikarhênerên rêzdar ên zimanê Wolfram li çaraliyê cîhanê bi tundî teşwîq dikim ku depoya fonksiyonel wekî platformek ji bo vê, û her weha projeya nermalava nû ya wekî Engine Wolfram Free ji bo Pêşdebiran bikar bînin.

Source: www.habr.com

Add a comment