Linux / Unix Umurnin: expr

Sunan

expr - Tattauna kalma

Synopsis

expr arg ? arg arg ... ?

Sakamakon tambayoyin (ƙara masu rabawa tsakanin su), yayi la'akari da sakamakon a matsayin bayanin Tcl, kuma ya dawo darajar. Ayyukan da aka halatta a cikin maganganun Tcl sune wani ɓangare na masu aiki da aka halatta cikin maganganu na C, kuma suna da ma'anar maɗaukaki da daidaito a matsayin masu amfani da C daidai. Maganar kusan kusan suna samar da sakamako mai mahimmanci (maɗauri ko ma'auni). Misali, magana

expr 8.2 + 6

yana kimanta 14.2. Maganganun Tcl sun bambanta da maganganun C a cikin hanyar da aka ƙayyade masu aiki. Har ila yau, maganganun Tcl suna goyan bayan kayan aiki marasa mahimmanci da daidaitattun launi.

Operands

Harshen Tcl yana ƙunshe da haɗakar kayan aiki, masu aiki, da kuma iyaye. Za'a iya amfani da sararin samaniya a tsakanin na'urori masu aiki da masu aiki da kuma iyaye; an manta da shi ta hanyar umarnin magana. Inda zai yiwu, ana fassara fasinjoji kamar yadda lambobi masu mahimmanci suke. Hakanan za'a iya ƙayyade dabi'un haɗari a cikin ƙananan ƙira (al'ada na al'ada), a cikin octal (idan nauyin farko na operand shine 0 ), ko a hexadecimal (idan nau'i biyu na aiki sun kasance 0x ). Idan wani aiki ba shi da ɗaya daga cikin siffofin da aka ba da aka ba a sama, to ana bi da shi a matsayin lambobi mai maimaitawa idan wannan zai yiwu. Za'a iya ƙayyade lambobin tsafta a kowane irin hanyoyin da mai karɓar CSI mai karɓa na ANSI ya karɓa (sai dai ba za'a bari izinin f , F , l , da L a cikin yawancin shigarwa ba). Alal misali, duk waɗannan masu biyowa suna da lambobi masu maƙalli: 2.1, 3., 6e4, 7.91e + 16. Idan babu fassarar fassarar yiwuwar, to sai an yi aiki tare a matsayin kirtani (kuma ana iya amfani da ƙayyadaddun masu aiki ne kawai).

Ana iya ƙayyade samfurori a kowane ɗayan hanyoyi masu zuwa:

[1]

A matsayin darajar lambobi, ko dai mai lamba ko maɓalli.

[2]

A matsayin ƙwayar Tcl, ta yin amfani da takaddun shaida na $ . Za a yi amfani da darajar mai amfani ta hanyar aiki.

[3]

A matsayin kirtani da aka sanya a cikin sau biyu. Fassarar kalma za ta yi lalacewa, m, da kuma maye gurbin umarni a kan bayanin tsakanin sharuddan, kuma amfani da sakamakon da aka samu a matsayin aiki

[4]

A matsayin kirtani da aka rufe a cikin takalmin gyaran kafa. Hakanan za'a iya amfani da haruffa tsakanin alamar takalmin gyare-gyare da kuma daidaitaccen takalmin gyare-gyare a matsayin aiki tare ba tare da wani canji ba.

[5]

A matsayin umarni na Tcl da aka rufe a cikin shagon. Za a kashe umurnin kuma za a yi amfani da sakamakonsa a matsayin aiki.

[6]

A matsayin aikin lissafin ilmin lissafi wanda muhawarar suna da wasu siffofin da ke sama don masu aiki, irin su zunubi ($ x) . Duba ƙasa don jerin ayyukan da aka yanke.

Inda aka sauya su a sama (misali a cikin kalmomin da aka nakalto), ana yin su ta umarnin. Duk da haka, ƙarin ƙaddamarwar sauƙi na canza can an riga an yi shi ta wurin fasalin umarni kafin a kira mai sarrafa na'ura. Kamar yadda aka tattauna a kasa, yawanci ya fi dacewa a sanya maganganu a cikin takalmin gyare-gyare don hana magoya bayanan umarni daga yin canji akan abinda ke ciki.

Ga wasu misalai na maganganu masu sauƙi, zaton cewa mai canji yana da darajar 3 kuma mai iyaka b yana da darajar 6. Sa'an nan kuma umurnin a gefen hagu na kowane layin da ke ƙasa zai samar da darajar a gefen dama na layin:

expr 3.1 + $ a6.1 expr 2 + "$ a. $ b" 5.6 expr 4 * [layi "6 2"] 8 bayyana {{kalma daya} <"kalmar $ a"} 0

Masu aiki

Ana yin amfani da masu aiki na ƙasa a ƙasa, haɗaka a ƙayyadaddun tsari na ƙaddamarwa:

- + ~!

Ƙananan ƙarancin, maras daidaituwa, mahimmanci maras kyau BA, ma'ana BA. Ba za a iya amfani da waɗannan na'urori ba don yin amfani da magunguna, kuma za a iya amfani da hikimar Bincike kawai a cikin mahaɗan.

* /%

Haɓaka, raba, saura. Babu wani daga cikin waɗannan kayan aiki da za'a iya amfani da su don yin amfani da magunguna, kuma ba za a iya amfani da saura ne kawai ba a cikin adadin. Sauran zai kasance daidai da alamar kamar rarraba kuma cikakkiyar darajar ta fi ƙanƙanta.

+ -

Ƙara da cirewa. Tabbatar da kowane na'ura mai mahimmanci.

<< >>

Hagu da dama. Tabbatar da mahaɗan wasan kwaikwayo kawai. Gudun dama yana motsa alamar bit.

<> <=> =

Boolean kasa, mafi girma, ƙasa da ko daidai, kuma mafi girma ko ko daidai. Kowane mai aiki yana samar da 1 idan yanayin gaskiya ne, 0 in ba haka ba. Ana iya amfani da waɗannan masu amfani da igiyoyi da magungunan lambobi, wanda aka yi amfani da kwatancin kwatancin layi.

==! =

Boolean daidai kuma ba daidai ba. Kowane mai aiki yana samar da sakamakon zero / daya. Tabbatar da kowane nau'in aiki.

&

Bit-hikima AND. Tabbatar da mahaɗan wasan kwaikwayo kawai.

^

Ƙwararren mai hikima mai mahimmanci OR. Tabbatar da mahaɗan wasan kwaikwayo kawai.

|

Mai-hikima KO. Tabbatar da mahaɗan wasan kwaikwayo kawai.

&&

Ma'ana DA. Ya samar da sakamako guda 1 idan duka wasan kwaikwayo ba su da kome, 0 in ba haka ba. Tabbatar da baƙi da ƙididdigewa (maɗaurori ko ma'aura) ne kawai.

||

Magana KO. Ya samar da sakamakon 0 idan duka wasan kwaikwayo biyu ba kome ba ne, 1 in ba haka ba. Tabbatar da baƙi da ƙididdigewa (maɗaurori ko ma'aura) ne kawai.

x ? y : z

Idan-to-dai, kamar yadda a cikin C. Idan x yayi kimantawa zuwa ba kome ba, to, sakamakon shine darajar y . In ba haka ba, sakamakon shine darajar z . Dole ne aiki na x yana da darajar lambobi.

Dubi C don ƙarin bayani game da sakamakon da kowane mai aiki ya samar. Dukkanin ƙungiyar binary din hagu zuwa hagu a cikin daidaiton daidaituwa. Alal misali, umurnin

expr 4 * 2 <7

dawo 0.

Da && , || , da kuma:: masu aiki suna da "ƙwaƙwalwar binciken", kamar dai yadda C yake, wanda ke nufin cewa ba a kimanta masu amfani da kayan aiki ba idan ba a buƙatar su gano sakamakon. Alal misali, a cikin umurnin

kashe $ $? [a]: [b]}

kawai daya daga [ ko ] ko [b] za a iya kimantawa daidai, dangane da darajar $ v . Lura, duk da haka, cewa wannan gaskiya ne kawai idan dukkanin maganganun da aka haɗa a cikin takalmin; In ba haka ba, Tcl barser zai kimanta duka [da ] kafin a kira umurnin.

Ayyukan ƙira

Tcl yana goyan bayan ayyuka masu ilimin lissafi a cikin maganganu:

abs cosh log sqrt acos double log10 srand asin exp tan tan atan floor rand tanh atan2 fann

abs ( arg )

Koma cikakken darajan arg . Arg na iya zama ko dai maɗaure ko tudu, kuma an dawo da sakamakon a cikin nau'i daya.

acos ( arg )

Komawa arc cosin na arg , a cikin kewayon [0, pi] radians. Arg ya kasance a cikin kewayon [-1,1].

asin ( arg )

Komawa arc na arg , a cikin kewayon [-pi / 2, pi / 2] radians. Arg ya kasance a cikin kewayon [-1,1].

atan ( arg )

Komawa arc tangent of arg , a cikin kewayon [-pi / 2, pi / 2] radians.

atan2 ( x, y )

Komawa arc tangent na y / x , a cikin kewayon [-pi, pi] radians. x da y ba zasu iya zama 0 ba.

ceil ( arg )

Komawa mafi girman adadi mai mahimmanci ba kasa da arg .

cos ( arg )

Ya dawo da magungunan arg , wanda aka auna a cikin radians.

cosh ( arg )

Ya dawo da hyperbolic cosine na arg . Idan sakamakon zai haifar da ambaliya, an dawo da kuskure.

biyu ( arg )

Idan arg shi ne darajar ruwa, ya dawo arg , in ba haka ba ya tuba zuwa arg don ya yi iyo kuma ya dawo da darajar ƙimar.

exp ( arg )

Ya dawo da mahimmanci na arg , wanda aka bayyana a matsayin e ** arg . Idan sakamakon zai haifar da ambaliya, an dawo da kuskure.

bene ( arg )

Ya dawo da mafi girman haɗin kai ba fiye da arg ba .

fmod ( x, y )

Ya dawo da ma'anar ruwa-watsi da ragowar x ta y . Idan akwai 0, an dawo da kuskure.

zato ( x, y )

Ya ƙididdige tsawon tsinkayen maƙalar hagu ( x * x + y * y ).

int ( arg )

Idan arg yana da adadin lamba, ya dawo arg , in ba haka ba sabobin tuba su shiga mahaɗin ta truncation kuma su dawo da darajar darajar.

shiga ( arg )

Komawa adabin adgutu na arg . Arg dole ne ya kasance mai kyau darajar.

log10 ( arg )

Ya dawo da tushe 10 ƙirar arg . Arg dole ne ya kasance mai kyau darajar.

pow ( x, y )

Ya ƙidaya darajar x da aka tashe zuwa iko y . Idan x yana da mummunan, dole ne ya zama darajar lamba.

rand ()

Ya dawo da lambar mai iyo daga sifilin zuwa kasa da ɗaya ko, a cikin sharuddan ilmin lissafi, da kewayon [0,1]. Tsarin yana fitowa daga motsi na ciki na na'ura ko za'a iya saita littafi tare da aikin srand.

zagaye ( arg )

Idan arg yana da adadin lamba, ya dawo arg , in ba haka ba sabobin tuba su kasance masu yawa ta hanyar zagaya kuma su sake dawo da darajar tuba.

zunubi ( arg )

Sake dawo da sutsi , wanda aka auna a cikin masu radians.

sinh ( arg )

Komawa da karfin arbalar hyperbolic. Idan sakamakon zai haifar da ambaliya, an dawo da kuskure.

sqrt ( arg )

Komawa tushen tushen arg . Arg dole ne kasancewa maras kyau.

srand ( arg )

Dogon , wanda dole ne ya kasance mai lamba, ana amfani dasu don sake saita iri don mahaɗin jigilar bazuwar. Ya dawo da lambar bazuwar farko daga wannan nau'in. Kowane mai fassara yana da nauyin kansa.

tan ( arg )

Ya dawo da tangent na arg , auna a cikin radians.

tanh ( arg )

Komawa da jinin arbalar hyperbolic.

Bugu da ƙari ga waɗannan ayyukan da aka riga aka tsara, aikace-aikace na iya ƙayyade ƙarin ayyuka ta amfani da Tcl_CreateMathFunc ().

Types, Cash, da Tsaida

Dukkan bayanai na cikin gida da aka yi tare da nau'in C na tsawon lokaci , da kuma dukkan abubuwan da ake ciki a ciki suna yin amfani da nau'in C kamar sau biyu . Lokacin da aka juya kirtani zuwa tudu, an gano ambaliya mai yawa kuma yana haifar da kuskuren Tcl. Don juyawa zuwa lamba daga kirtani, ganowa na ambaliya ya dogara da halayyar wasu lokuta a cikin ɗakunan C na gida, don haka ya kamata a ɗauka a matsayin wanda ba shi da tabbacin. A kowane hali, baza'a iya gano ambaliyar ruwa da sauyawa ba saboda alamun tsaka-tsaki. An gano nauyin ruwan sama da zubar da ruwan sama zuwa matakin da hardware ke goyan baya, wanda ba shi da cikakkiyar abin dogara.

Juyawa tsakanin abubuwan da ke cikin gida don maƙalli, maɓallin ruwa, da kuma zane-zane suna yin ta atomatik idan an buƙata. Domin lissafin lissafi, ana amfani da maƙalai har sai an gabatar da lamba mai ma'ana a cikin ruwa, bayan da aka yi amfani da alamar mai iyo. Misali,

expr 5/4

dawo 1, yayin da

expr 5 / 4.0 expr 5 / ([string string "abcd"] + 0.0)

duka dawowa 1.25. An dawo da lambobin tsabtace-wuri tare da '` . '' ko wani e don kada su yi kama da lambobi masu yawa. Misali,

expr 20.0 / 5.0

dawo 4.0 , ba 4 .

Ƙungiya mai haɗawa

Ƙila za a iya amfani da ƙuƙwalwar ƙira a matsayin mai aiki na masu yin amfani da kwatanta, kodayake gwadawa mai gwadawa yayi ƙoƙari ya yi kwatanci kamar yadda ya dace ko maimaitawa lokacin da zai iya. Idan ɗaya daga cikin masu aiki na kwatanta shi ne kirtani kuma ɗayan na da darajar lambobi, ana yin amfani da jerin lambobi ta hanyar yin amfani da maƙallan C wanda aka tsara dashi % d don haɓakawa da % g don ma'auni mai tsabta. Alal misali, dokokin

expr {"0x03"> "2"} expr {"0y" <"0x12"}

dukansu sun dawo 1. Ana kwatanta kwatancin farko ta amfani da kwatancin lamba, kuma na biyu an yi ta amfani da kwatancin kwatankwacin bayan aiki na biyu da aka juya zuwa kirtani 18 . Saboda tasirin Tcl ya bi da dabi'u kamar lambobi a duk lokacin da zai yiwu, ba kyakkyawar kyakkyawan ra'ayin yin amfani da masu aiki ba kamar == lokacin da kake son daidaitattun launi kuma dabi'u na masu aiki na iya kasancewa mai sabani; ya fi kyau a cikin waɗannan lokuta don amfani da umarnin igiya maimakon.

Abubuwan Ayyuka

Rufe maganganu a jarrabawa don mafi kyawun gudu da kuma bukatun kariya. Wannan yana ba da damar mai rikodin Tcl ta hanyar ƙaddamarwa don samar da mafi kyawun lambar.

Kamar yadda aka ambata a sama, ana saurin maganganu sau biyu: sau ɗaya daga Tarser da kuma sau ɗaya ta hanyar umurni. Alal misali, dokokin

saita 3 sa b {$ a + 2} expr $ b * 4

mayar da 11, ba maƙalar 4. Wannan shi ne saboda Tcl parser zai fara canza $ a + 2 don m b , to, umurni na karewa zai kimanta kalmar $ a + 2 * 4 .

Yawancin maganganu ba su buƙatar sake zagaye na biyu ba. Ko dai an haɗa su a cikin takalmin gyare-gyare, ko kuma, idan ba haka ba, canjin su da kuma maye gurbin suna bada lambobi ko igiyoyi waɗanda ba su buƙatar su maye gurbin su ba. Duk da haka, saboda ƙananan maganganun da ba a ƙayyade ba su buƙatar sauya sauye-sauye, mai rikodin ƙirar dole ne ya ba da ƙarin umarnin don magance wannan halin. Ana buƙatar code mafi tsada don maganganun da ba a taɓa ɗauka ba wanda ya ƙunshi sauya umurnin. Dole ne a aiwatar da waɗannan maganganu ta hanyar samar da sabon lambobi a duk lokacin da aka yanke hukuncin.

Keywords

arithmetic, boolean , kwatanta, magana, m furanni

Muhimmin: Yi amfani da umurnin mutum ( % mutum ) don ganin yadda aka yi amfani da umarnin akan kwamfutarka.