Linux / Unix Command: expr

Zita

expr - Ongorora izwi

Zvinyorwa

expr arg ? arg arg ... ?

Kugadzirisa arg 's s (kuwedzera nzvimbo dzeparadzator pakati pavo), inoongorora chiitiko seTcl kutaura, uye inodzorera kukosha. Vashandi vanobvumirwa muTcl zvinyorwa zvikamu zvakasununguka zvevashandi vanobvumirwa mumitauro yeC, uye vane zvinoreva zvakafanana uye zvinyorwa sevanosangana neC inoshanda. Zvinyorwa zvinenge zvichiti nguva dzose zvigone kuwanikwa nhamba yemitengo (integer kana kutenderera-nheyo dzepamusoro). Somuenzaniso, kutaura

expr 8.2 + 6

anoongorora kusvika 14.2. Tcl zvinyorwa zvinopesana nekutaura kweC mu nzira iyo operands inotsanangurwa. Uyewo, Tcl zvinyorwa zvinotsigira zvisingaiti nhamba dzefoni uye kufananidzwa kwetambo.

Operands

Bhuku reTcl rinosanganisira kusanganiswa kwevashandi, vashandi, uye vanababa. Nzvimbo yakachena inogona kushandiswa pakati pevashandi nevashandi uye vanababa; hazvibvumirwi nemashoko ekutaura. Pose pazvinobvira, operands inodudzirwa sevanhu vakawanda. Nhamba dzepamusoro dzinogona kuiswa mundima (inowanzoitika), mu octal (kana mhando yekutanga ye operand iri 0 ), kana mu hexadecimal (kana mavara maviri ekutanga e operand ari 0x ). Kana an operand asina imwe yezvikwata zvese zvakapiwa pamusoro apa, zvino inotorwa senhamba inotenderera kana izvi zvichibvira. Mafashamo-nhamba manhamba angarondedzerwa mune chero nzira dzinogamuchirwa ne ANSI-inogamuchirika C kubatanidza (kunze kwekuti f , F , l , uye L zvigone zvisingabvumirwi mune zvakawanda zvigadziriro). Semuenzaniso, zvose zvinotevera zvinoshanda zvakaderera-nhamba nhamba: 2.1, 3., 6e4, 7.91e + 16. Kana pasina nhamba yekududzira isingakwanisi, saka an operand yasara seyetani (uye inongogadziriswa chete yevashandi inogona kushandiswa kwairi).

Operands ingarondedzerwa mune imwe yenzira dzinotevera:

[1]

Sekukosha kwenhamba, kana integer kana kutenderera-kumwe.

[2]

Sekusiyana kweTcl, kushandisa shanduko ye $ notation. Nhamba yechinoshandiswa ichashandiswa seyo operand.

[3]

Seine tambo yakapoteredzwa muviri-mavara. Izwi rinoshandiswa rinotanga kudzoka shure, kushanduka, uye kuraira zvinyorwa pane ruzivo pakati pezvinyorwa, uye kushandisa shanduko inoguma seyo operand

[4]

Seine tambo yakapoteredzwa mumabhonji. Nhamba dzepakati pekuvhara mukati uye kufanana nechemberi yakadzika inoshandiswa seyo operand pasina chero shanduko.

[5]

Sezvo mutemo weTcl wakapoteredzwa mabheji. Murairo uchatorwa uye chigumisiro chacho chichashandiswa se operand.

[6]

Sezvakaitwa masvomhu nemafungiro ake ane chero ipi zvayo yepamusoro maitiro ekushandisa, zvakadai sechivi ($ x) . Ona pasi apa kuti uwane rondedzero yemabasa anotsanangurwa.

Apo kushandiswa kunowanikwa pamusoro (semukati mukati mukati mezvinyorwa zvinyorwa), zvinoitwa nemashoko ekutaura. Kunyange zvakadaro, imwe yero yechinhu ichi inogona kunge yakamboitwa nemuteereri wekuraira usati wataurirwa. Sezvakakurukurwa pasi apa, kazhinji kacho kunonyanya kuvhara mazwi mumabhosi kuitira kuti kudzivisa mutauriri wemirairo kubva pakuita zvinotsiviwa pane zviri mukati.

Kune mimwe mienzaniso yezvinyorwa zvisiri nyore, fungidzira kuti kushandiswa kwave kune zvakakosha 3 uye shanduko b ine kukosha 6. Ipapo murairo kuruboshwe rworumwe rutivi rwemiganhu iri pasi inobereka kukosha kune rumwe rutivi rworudyi:

expr 3.1 + $ a6.1 expr 2 + "$ a. $ b" 5.6 expr 4 * [llength "6 2"] 8 expr {{word one} <"shoko $ a"} 0

Operators

Vashandi vanoshanda vakanyorwa pasi apa, vakabatanidzwa mukuderera kwekuita kwekutanga:

- + ~ ~!

Unary less, unary pamwe, bit-wise HERE, zvinonzwisisika HERE. Hapana chimwe chezvipikisi izvi chinogona kushandiswa kumaketani emakambani, uye zvishoma-akachenjera HACHINGINGI kushandiswa chete kune zvese.

*%

Wedzera, kugovana, kusara. Hapana chimwe chezvinhu izvi zvinogona kushandiswa kumakambani epamba, uye zvasara zvinogona kushandiswa chete kune zvese. Zvasara zvicharamba zvichiine chiratidzo chimwechete segovereri uye kukosha kwakakwana kudukusa kunyanzvi.

+ -

Wedzera uye kubvisa. Yakagadzirirwa chero ipi zvayo inoshandiswa.

<< >>

Kuruboshwe uye kurudyi kuchinja. Inofanirwa kuwanda kwevashandi chete. Kushandurwa kwakarurama kunoparadzira nguva dzose chiratidzo chechiratidzo.

<> <=> =

Boolean zvishoma, chikuru, zvisingasviki kana zvakaenzana, uye yakakura kudarika kana yakaenzana. Munhu wese anofamba anopa 1 kana mamiriro acho ari echokwadi, 0 zvisingaiti. Izvo zvinoshanda zvinogona kushandiswa kumaketani pamwe nenhamba dzepayenzi, mune imwe nyaya iyo inofananidzwa nejecha inoshandiswa.

==! =

Boolean akaenzana uye haasi akaenzana. Mumwe nomumwe anofamba anobudisa zero / chimwe chigumisiro. Inobvumirana nezvose zvinowanzoshandiswa.

&

Kunyanya-kuchenjera uye. Inofanirwa kuwanda kwevashandi chete.

^

Bhuku-rakangwara rakananga OR. Inofanirwa kuwanda kwevashandi chete.

|

Zvinonyoresa OR. Inofanirwa kuwanda kwevashandi chete.

&&

Logical AND. Unobereka chibereko chekutanga kana zvose zvese zvinoshanda zvisina zero, 0 zvimwe. Inobvumirana ne-boolean uye nenhamba (integers kana inotenderera-point) operands chete.

||

Logical OR. Inobereka 0 chigumisiro kana mabhizimisi ose ari zero, 1 pamwe chete. Inobvumirana ne-boolean uye nenhamba (integers kana inotenderera-point) operands chete.

x ? y : z

Kana-ipapo-zvisinei, sekuC. Kana x kuongorora kune isiri zero, zvino mugumisiro inokosha ye y . Kana zvisina kudaro, mhinduro yacho inokosha ye z . I x operand inofanira kuva nenhamba inokosha.

Ona C C kuti uwane mamwe mashoko pamusoro pemigumisiro inogadzirwa nemunhu wese. Zvose zvebhinary operators boka rakasara-kuenda-kurudyi mukati mechikamu chekutanga chekutanga. Somuenzaniso, murairo

expr 4 * 2 <7

anodzoka 0.

The && , || , uye?: vafambisi vane `'uroyi hwekuongorora' ', sekuna C, izvo zvinoreva kuti mahofisi haasi kuongororwa kana asingadi kuti aone mhinduro. Somuenzaniso, mumurairo

expr {$ v? [a]: [b]

imwe chete ye [a] kana [b] ichazoongororwa, zvichienderana nekukosha kwe $ v . Cherechedza, zvisinei, izvi izvi ndezvechokwadi kana mashoko ose akavharwa mumabhonsi; kana zvisina kudaro, mutauriri weTcl achaongorora zvose [a] uye [b] asati asvitsa mutemo we expr .

Math Functions

Tcl inotsigira zvinotevera masvomhu mumabasa:

Nhamba yepamutemo sq sqrt yekasi maviri log10 srand asin exp pow tan atan pasi rand tanh atan2 fmod round ceil hypot sin cos int sinh

abs ( arg )

Inodzorera kukosha kwakakwana kwe arg . Arg inogona kunge yakakura kana kuti inotenderera-kumwe, uye mhinduro yacho inodzorerwa nenzira imwe chete.

acos ( arg )

Inodzorera arc cosine ye arg , mumusara [0, pi] radians. Arg inofanira kunge iri munharaunda [-1,1].

asin ( arg )

Inodzorera arc sine ye arg , mumakero [-pi / 2, pi / 2] radians. Arg inofanira kunge iri munharaunda [-1,1].

atan ( arg )

Anodzorera arc tangent ye arg , mumuganhu [-pi / 2, pi / 2] radians.

atan2 ( x, y )

Inodzorera arc tangent ye y / x , mumutsetse [-pi, pi] radians. x uye y havagoni kuva vaviri.

ceil ( arg )

Inodzorera iyo duku shoma kukosha kwete pasi peg .

cos ( arg )

Inodzorera cosine ye arg , yakayerwa mumayera.

cosh ( arg )

Kudzorera hyperbolic cosine ye arg . Kana chigumisiro chacho chikaita kuti kuwedzerwa, iko kukanganisa kunodzorerwa.

kaviri ( arg )

Kana arg inokosha inotenderera, inodzoka kug , kana zvisakashandura ar kuti iite- svetuka uye inodzorera kukosha kwayo.

exp ( arg )

Inodzorera exponential ya arg , inotsanangurwa se e ** arg . Kana chigumisiro chacho chikaita kuti kuwedzerwa, iko kukanganisa kunodzorerwa.

pasi ( arg )

Inodzorera iyo yakawanda inokosha kukosha kwete kukura kupfuura arg .

fmod ( x, y )

Inodzorera iyo yakasvibiswa-iyo yakasara yakasara yechipatara che x ne y . Kana y iri 0, kukanganisa kunodzorerwa.

hypot ( x, y )

Inoenzanisa urefu hwekufungidzirwa kwekatatu yakakosha ( x * x + y * y ).

int ( arg )

Kana pari nhamba yakakwana, inodzokera kug , kana zvisati zvashandura ar kuti iwedzere ne truncation uye inodzorera kukosha kwekushandurwa.

log ( arg )

Inodzorera rega logarithm ye arg . Arg inofanira kuva yakakosha.

log10 ( arg )

Kudzorera nheyo yechiso 10 logarithm yegu . Arg inofanira kuva yakakosha.

pow ( x, y )

Inokonzera kukosha kwe x kukwidzwa kusimba y . Kana x isingaiti, y inofanira kuva inhare yekutakura.

rand ()

Inodzorera nhamba yakasvibiswa nhamba kubva zero kusvika zvishoma pasi peyero kana, mumathematical terms, mararamiro [0,1]. Mbeu inobva mukati-kati kweawa yemushini kana inogona kuiswa gwaro nemutambo.

kumativi ( arg )

Kana pari nhamba yakakwana, inodzokera kug , kana zvisati zvashandura ar kuti iwedzere nekukomberedza uye inodzorera kukosha kwayo.

chivi ( arg )

Inodzorera sine ye arg , yakayerwa mumayera.

sinh ( arg )

Kudzorera hyperbolic sine ye arg . Kana chigumisiro chacho chikaita kuti kuwedzerwa, iko kukanganisa kunodzorerwa.

sqrt ( arg )

Inodzorera iyo square root ye arg . Arg inofanira kuva isina-zvakaipa.

srand ( arg )

Iko, iyo inofanira kunge iri integer, inoshandiswa kugadzirisa zvakare mbeu yehuwandu yenhamba generator. Inodzorera nhamba yekutanga yakasarudzwa kubva pambeu iyoyo. Mumwe muturikiri ane mbeu yake.

tani ( arg )

Inodzorera tangent ye arg , yakayerwa mumayera.

tanh ( arg )

Kudzorera hyperbolic tangent ye arg .

Mukuwedzera kune izvi zvakafanotaurwa, maitiro anogona kutsanangura mamwe mabasa achishandisa Tcl_CreateMathFunc ().

Mitauro, Kuputika, uye Kuchengetedza

Zvose zvinyorwa zvemukati zvinosanganisira zvikwereti zvinowanikwa neC C chirefu kwenguva refu , uye zvose zvinyorwa zvemukati zvinosanganisira kuputika-kumweka zvinoitwa neC aina yechipiri . Paunoshandura tambo kusvika kune-floating-point, kufara kwekuwedzera kunowanikwa uye kunoguma muTcl kukanganisa. Nokuda kwekutendeuka kuhuwandu kubva kune tambo, kuonekwa kwekuputika kunoenderana nemafambiro emamwe mapurogiramu munharaunda yeC C, saka inofanira kuonekwa seisingavimbiki. Chero mamiriro ezvinhu, integer inoputika uye pasi-pasi haigoni kuonekwa zvakavimbika kune zvikamu zviri pakati. Mafashamo-nzvimbo inoputika uye pasi-pasi inowanikwa kusvika kudigiri inotsigirwa ne hardware, iyo yakawanda yakaisvonaka yakavimbika.

Kushandurwa pakati pekunyevedza kwemukati kwehuwandu, pedat--point, uye makambani emaketani anoitwa zvese sezvaanoda. Pamusoro pekunyora magwaro, integers inoshandiswa kusvikira imwe nhamba yakatenderera-nhamba inotangwa, mushure mokunge iyo inotenderera-inoshandiswa inoshandiswa. Semuyenzaniso,

expr 5/4

anodzoka 1, panguva

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

vose vanodzoka 1.25. Mafashamo-nhamba maitiro anogara achidzoka ne `` . '' kana e e kuitira kuti varege kutarisa sevanhu vanokosha. Semuyenzaniso,

expr 20.0 / 5.0

inodzorera 4.0 , kwete 4 .

String Operations

Nheyo dzinogona kushandiswa sevashandi vekuenzanisa vanofambisa, kunyange zvazvo muongorori wekutsvaga anoedza kuenzanisa sehombe kana kuti yakasvibiswa-iyo kana ichikwanisa. Kana imwe yebasa rekuenzanisa iine tambo uye imwe ine ine nhamba yakakosha, iyo number operand inoshandurwa kudzokera kune tambo vachishandisa C sprintf format specifier % d ye integers uye % g yezvakatenderera-nhamba maonero. Somuenzaniso, mirairo

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

zvose zvinodzoka 1. Kuenzanisa kwekutanga kunoitwa uchishandiswa kuenzanisa, uye yechipiri inoshandiswa uchishandisa kuenzanisa mushure mushure mokushanda kwechipiri kunoshandiswa kune tambo 18 . Nemhaka yekutamba kweTcl yekubata maitiro se nhamba pose pose zvichibvira, haisi kazhinji pfungwa yakanaka kushandisa vanoshandisa shanduro == apo iwe unonyatsoda kuenzaniswa kwemasikirwo uye hutsika hwevashandi hunogona kunge huchireva; zviri nani muzviitiko izvi kushandisa mutambo wetambo panzvimbo.

Kufungisisa Maitiro

Bvisa mazwi mumabhonji kuitira zvakanakisisa kukurumidza uye chiduku chiduku chekuchengetedza. Izvi zvinobvumira Tcl bytecode kubatanidza kuti iite yakanakisisa code.

Sezvataurwa pamusoro apa, mazwi anotsiviwa kaviri: kamwe chete neTcl parser uye kamwechete ne expr command. Somuenzaniso, mirairo

sarudza 3 s b $ $ a + 2} expr $ b * 4

kudzoka 11, kwete kuwandisa kwe 4. Izvi ndechokuti mutauriri weTcl achatanga kubhadhara $ a + 2 kuitira mutemo b , ipapo mutemo expr uchaongorora shanduro $ a + 2 * 4 .

Mashoko mazhinji haatauri rutivi rwechipiri rwekubatsiridzira. Zvimwe zvakapoteredzwa mumabhosi kana, kana zvisingaiti, kushandiswa kwavo kushanduka uye kuira kunobereka nhamba kana zvidzidzo izvo zvisiri izvo zvinoda kushandiswa. Zvisinei, nokuti mamwe mashomanana asina kubvunzwa anoda zvitsva zviviri zvekubatsiridzira, iyo bytecode mutevedzeri anofanira kutora mirairo yakawedzerwa yekubata mamiriro aya. Mutemo unodhura zvikuru unotarisirwa kwemashoko asina kubvumirwa ane zvigadziridzo zvemurairo. Aya mazwi anofanira kushandiswa kuburikidza nekugadzira code itsva nguva imwe neimwe iyo mashoko ari kuitwa.

Mashoko

arithmetic, boolean , kufananidza, kutaura, kufanana kwakanyanya

Zvinonyanya kukosha: Shandisa mutemo wevanhu ( % munhu ) kuti uone kuti murairo unoshandiswa sei pane imwe kombiyuta.