Silav Habr! Wergera nivîsa Stephen Wolfram pêşkêşî we dikim
Mercên ji bo hevgirtina zimanê Wolfram
Îro em bi zimanê bernamesaziyê re li ber deriyê serkeftinên mezin radiwestin
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î
Mînakî, depoya fonksiyona Wolfram jixwe heye
Bi heman awayî ji
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
Li vir divê bête zanîn ku dema pêvajoyê
Ez hêvî dikim ku bi piştgirî
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
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ê
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
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û
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
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
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:
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
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:
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
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.
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:
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
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
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ê
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.
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
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
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
Ji ber vê yekê, dibe ku di koda fonksiyonê de di depoyek fonksiyonê de çi be?
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
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
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,
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: "
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
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
Çawa dixebite?
Di hundurê fonksiyonên di depoya Wolfram de ev yek bi heman rengî bi karanîna gengaz dibe
Bifikirin
Di hundurê de hûn dikarin hin agahdarî bi karanîna fonksiyonê bibînin
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:
Piştî ku we pênase çêkir, hûn dikarin fonksiyona çavkaniyê bikar bînin:
Bala xwe bidinê ku di bloba vê fonksiyonê de îkonek reş heye . 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 . Û di Depoya Taybetmendiyê ya Wolfram de ji bo taybetmendiyek çavkaniyek fermî îkonek porteqalî heye .
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
Rakirina herêmî ya fonksiyonek ji depoyek li ser komputera we bi karanîna fermanê tête kirin
Ger hûn ji bo Depoyek Fonksiyonek bişkojka Bişînin bikirtînin, di binê wê de çi diqewime
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
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
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.
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
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
Depoya fonksiyonê ji bo diyarkirina fonksiyonên nû ye. Û dibe ku van fonksiyonan vebijark hebin. Pir caran ev pîvan (mînak,
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
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.
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.
Ji bo fonksiyonên çêkirî yên di Zimanê Wolfram de bi navê qatek tespîtkirinê tê peyda kirin
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û
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