Linux / Unix Command: expr

Lebitso

hlalosa - Hlahloba polelo

Lintlhakiso

expr arg ? arg arg ... ?

E lumellana le arg 's (ho eketsa libaka tse arohanang pakeng tsa bona), e hlahloba sephetho sa ho bua ka Tcl, le ho khutlisa bohlokoa. Basebetsi ba lumelletsoeng ka lipolelo tsa Tcl ke karolo ea basebetsi ba lumelloang ka lipolelo tsa C, 'me ba na le moelelo o tšoanang le oa pele joaloka basebelisi ba C. Hangata lipolelo li fana ka liphetho tsa lipalo ( litekanyetso tse ngata kapa tse phaphamang). Ka mohlala, polelo

expr 8.2 + 6

e lekanya ho 14.2. Lipuo tsa Tcl li fapane le lipolelo tsa C ka tsela eo li-operands li hlalositsoeng ka eona. Hape, lipolelo tsa Tcl li tšehetsa basebetsi ba se nang palo le litšoantšiso tsa khala.

Operands

Tlhaloso ea Tcl e na le motsoako oa li-operands, basebetsi, le bana ba maqheku. Sebaka se sepakapakeng se ka sebelisoa pakeng tsa basebetsi le ba sebetsang le ba nang le bana ba maholo; e hlokomolohuoa ke litaelo tsa polelo. Moo ho khonehang, basebetsi ba hlalosoa e le litekanyetso tse kholo. Litekanyetso tse kholo li ka hlalosoa ka boemo bo tloaelehileng (boemong bo tloaelehileng), ka octal (haeba sebopeho sa pele sa operand ke 0 ), kapa ka hexadecimal (haeba litlhaku tse peli tsa pele tsa operand li le 0x ). Haeba operand e se na e 'ngoe ea lihlahisoa tse ngata tse fanoeng ka holimo, joale e tšoaroa e le nomoro ea phapang haeba ho ka khoneha. Linomoro tsa marulelo a marang-rang li ka hlalosoa ka litsela tse amohelehang ka k'hamphani ea ANSI e lumellanang le eona (ntle le hore li-suffixes tsa f , F , l le L li ke ke tsa lumelloa ka mekhoa e mengata). Ka mohlala, tsohle tse latelang ke linomoro tse potolohileng tse potolohileng: 2.1, 3., 6e4, 7.91e + 16. Haeba ho se na tlhaloso ea lipalo e ka khonehang, joale operand e siuoa e le khoele ('me ho na le lihlopha tse fokolang tsa li-operators tse ka sebelisoang ho eona).

Opereishene e ka boleloa ka litsela tse latelang:

[1]

E le boleng ba linomoro, ebang boitsebiso bo boholo kapa bo phallang.

[2]

Joaloka se fapaneng sa Tcl, ho sebelisa lintlha tse tloaelehileng tsa $ . Ntho ea ho feto-fetoha e tla sebelisoa e le operand.

[3]

Joaloka mohala o kentsoeng ka likopi tse peli. Mantsoe a hlalosang mantsoe a tla etsa mekhoa ea ho khutlela morao, e feto-fetohileng, le ea litaelo ka tlhahisoleseding pakeng tsa liqotsitsoeng, le ho sebelisa boleng bo hlahang e le operand

[4]

Joaloka khoele e koetsoeng ka li-braces. Litlhaku tse pakeng tsa li-brace tse bulehileng le tse tšoanang le li-close brace li tla sebelisoa e le operand ntle le litsela tse ling.

[5]

E le taelo ea Tcl e koetsoeng ka libakete. Taelo e tla etsoa 'me sephetho sa eona e tla sebelisoa e le operand.

[6]

E le sebopeho sa lipalo tseo liqabang tsa tsona li nang le mefuta e hlalositsoeng ka holimo bakeng sa mesebetsi, joalo ka sebe ($ x) . Sheba ka tlase bakeng sa lenane la mesebetsi e hlalositsoeng.

Moo li-substitutions li hlahang ka holimo (mohlala, ka hare ho liletsa tse qotsitsoeng), li etsoa ka litaelo tsa polelo. Leha ho le joalo, e 'ngoe ea lisebelisoa e ka' na ea etsoa ka motsamaisi oa litaelo pele polelo ea polelo e bitsoa. Joalokaha ho tšohliloe ka tlaase, hangata ho molemo ho kenyelletsa lipolelo tsa li-braces ho thibela mofani oa litaelo hore a se ke a etsa likarolo tse ling tse ka hare ho tsona.

Bakeng sa mehlala e meng ea lipolelo tse bonolo, nahana hore phapang e na le boleng ba 3 'me e feto-fetohileng b e na le bohlokoa 6. Joale taelo ka lehlakoreng le letšehali la mela e ka tlase e tla hlahisa bohlokoa ka lehlakoreng le letona la mola:

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

Basebelisi

Basebetsi ba sebetsang ba thathamisitsoe ka tlase, ba arotsoe ka taelo e fokolang ea pele:

- + ~ ~!

E sa kopane, e sa nyalane hape, e sa utloahale HORE, e utloahala HA HO. Ha ho le e 'ngoe ea tsena tse sebetsang tse ka sebelisoang ho li-operand tsa lithane, le tse nang le botebo bo ke keng tsa sebelisoa feela ho lihlopha.

* /%

Eketsa, arola, setseng. Ha ho le e 'ngoe ea li-operang tsena tse ka sebelisoang ho li-operane tsa mohala,' me setseng e ka sebelisoa feela ho lihlopha. E setseng e tla lula e e-na le letšoao le tšoanang le moeletsi le bohlokoa bo feletseng ho feta moeletsi.

+ -

Kenya le ho tlosa. E nepahetse bakeng sa operands leha e le efe ea linomoro.

<< >>

Ho fetoha ho le letšehali le ho le letona. E nepahetse bakeng sa mesebetsi e kholo feela. Kemiso e nepahetseng kamehla e fetisa pontšo ea pontšo.

<> <=> =

Boolean e nyenyane, e kholo, e ka tlase ho kapa e lekana, mme e kholo ho feta kapa e lekana. Mong le e mong ea sebetsang o hlahisa 1 haeba boemo bo le 'nete, 0 ha ho joalo. Mesebetsi ena e ka sebelisoa ho likhoele hammoho le lik'hamphani tsa linomoro, moo ho sebelisoang li-string ka lehare.

==! =

Boolean e lekana le ha e lekana. Mong le e mong ea sebetsang o hlahisa phello ea zero / e le 'ngoe. E nepahetse bakeng sa mefuta eohle ea operand.

&

E-na le boitsebiso bo bonolo. E nepahetse bakeng sa mesebetsi e kholo feela.

^

E-OR e nang le boitsebiso bo hlakileng. E nepahetse bakeng sa mesebetsi e kholo feela.

|

Tsela e bonolo ea OR. E nepahetse bakeng sa mesebetsi e kholo feela.

&&

E utloahalang LE. E hlahisa sephetho se le seng haeba mesebetsi ea bobeli e se ea zero, 0 ho seng joalo. Ho nepahala bakeng sa boolean le linomoro (li-integers kapa floating-point) tse sebetsang feela.

||

E utloahalang OR. E hlahisa sephetho sa 0 haeba mesebetsi ea bobeli e le zero, 1 ho seng joalo. Ho nepahala bakeng sa boolean le linomoro (li-integers kapa floating-point) tse sebetsang feela.

x ? y : z

Haeba-joale-joalo-joalo, joalokaha ho C. Haeba x e hlahloba ho se e-zero, joale phello ke boleng ba y . Ho seng joalo, phello ke boleng ba z . The x operand e tlameha ho ba le palo ea linomoro.

Sheba C manual bakeng sa lintlha tse ling mabapi le liphello tse hlahisoang ke moetsi ka mong. Sehlopha sa basebelisi ba binary bohle ho tloha ka ho le letona ka hare ho boemo bo tšoanang ba pele. Ka mohlala, taelo

expr 4 * 2 <7

e khutlela 0.

The && , || , le?: basebelisi ba na le 'tlhahlobo ea botsoa' ', feela joalokaha ho C, e bolelang hore li-operands ha li hlahlojoe haeba li sa hlokahale ho fumana qeto. Ka mohlala, ka taelo

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

e le 'ngoe feela ea [a] kapa [b] e tla hlahlojoa, ho itšetlehile ka bohlokoa ba $ v . Leha ho le joalo, hlokomela hore sena ke 'nete feela haeba polelo eohle e kenngoa ka li-braces; ho seng joalo, mofani oa Tcl o tla hlahloba ka bobeli [a] le [b] pele a ipiletsa ho expr .

Mosebetsi oa Math

Tcl e tšehetsa mesebetsi e latelang ea lipalo ka lipolelo:

abs cosh log sqrt kopo log10 srand asin exp pow tan atan floor rand tanh atan2 fmod round ceil hypot sin cos int sinh

ha ho joalo ( arg )

E khutlisetsa boleng bo feletseng ba arg . Arg e ka 'na ea ba e kholo kapa e phallang,' me sephetho se khutlisetsoa ka mokhoa o tšoanang.

li-acos ( arg )

E khutlisetsa arc cosine ea arg , ka bophara [0, pi] radians. Arg e lokela ho ba boemong ba [-1,1].

asin ( arg )

E khutlisetsa arc sine ea arg , har'a radians [-pi / 2, pi / 2] ea mahlaseli. Arg e lokela ho ba boemong ba [-1,1].

atan ( arg )

E khutlisetsa tangent ea arc ea arg , ho ea radians [-pi / 2, pi / 2] ea mahlaseli.

atan2 ( x, y )

E khutlisetsa tangent ea arc ea y / x , ka bophara [-pi, pi] radians. x le ho hang ha ba na tse 0.

tlisa ( arg )

E khutlisetsa palo e nyenyane ka ho fetisisa ea integer ka tlase ho arg .

sehla ( arg )

E khutlisa cosine ea arg , e lekantsoe ka radians.

cosh ( arg )

E khutlisetsa hyperbolic cosine ea arg . Haeba sephetho se ka baka ho phalla, phoso e khutlisetsoa.

tse peli ( arg )

Haeba ho na le phaello e phaphamang, e khutlisetsa bot , ho seng joalo e fetola arg ho ea phaphamala le ho khutlisa boleng bo fetotsoeng.

exp ( arg )

E khutlisetsa exponential ea arg , e hlalosoa e le e ** arg . Haeba sephetho se ka baka ho phalla, phoso e khutlisetsoa.

fatše ( arg )

E khutlisetsa boleng ba bohlokoa bo boholo ha bo kholo ho feta.

fmod ( x, y )

E khutlisetsa karolo e setseng ea karohano ea x ka y . Haeba y ke 0, phoso e khutlisetsoa.

hypot ( x, y )

E akaretsa bolelele ba hypotenuse ea triangle e nang le tokelo e nepahetseng ( x * x + y * y ).

int ( arg )

Haeba arg ke boleng bo lekaneng, o khutlisa bot , ho seng joalo o fetola arg ho ea holimo ka truncation mme o khutlisetsa boleng bo fetotsoeng.

log ( arg )

E khutlisetsa logarithm ea tlhaho ea arg . Arg e tlameha e be ea bohlokoa.

log10 ( arg )

E khutlisetsa motheo oa logarithm oa arg . Arg e tlameha e be ea bohlokoa.

pho ( x, y )

E akaretsa boleng ba x bo phahamisetsoa matla y . Haeba x e fosahetse, e lokela ho ba tekanyo e feletseng.

rand ()

E khutlisa nomoro ea ntlha e phallang ho tloha ho zero ho ea tlase ho e le 'ngoe kapa, ka mantsoe a lipalo, lebota [0,1]. Peo e tsoa kahare ea mochine kapa e ka be e sebelisoa ka mokhoa o ts'oanang.

ho potoloha ( arg )

Haeba arg ke boleng bo lekaneng, o khutlisetsa bot , ho seng joalo o fetola arg ho ba bangata ka ho pota le ho khutlisetsa boleng bo fetotsoeng.

sebe ( arg )

E khutlisetsa sine ea arg , e lekantsoe ka radians.

sebe ( arg )

E khutlisetsa hyperbolic sine ea arg . Haeba sephetho se ka baka ho phalla, phoso e khutlisetsoa.

sqrt ( arg )

E khutlisetsa motso oa sekoti oa arg . Arg e tlameha e be e seng mpe.

srand ( arg )

The arg , eo e tlamehang ho ba e feletseng, e sebelisetsoa ho tsosolosa peo bakeng sa jenereithara e sa lekanyetsoang. E khutlisetsa nomoro ea pele e khethollang ho tloha ho peo eo. Mofetoleli e mong le e mong o na le peo ea eona.

tan ( arg )

E khutlisetsa tangent ea arg , e lekantsoe ka radians.

tanh ( arg )

E khutlisetsa tangent ea hyperbolic ea arg .

Ho phaella mosebetsing ona o boletsoeng esale pele, likopo li ka hlalosa mesebetsi e eketsehileng e sebelisang Tcl_CreateMathFunc ().

Mefuta, Ho Phalla, le ho Phethahala

Likhopotso tsohle tsa hare tse amanang le li-integers li etsoa ka mofuta oa C nako e telele , 'me litlhaloso tsohle tsa hare tse amanang le phapang li etsoa ka mofuta oa C bobeli . Ha o fetola khoele ho ntlha e phallang, tlhahiso ea ho hlahisa e hlahella e fumanoa 'me e hlahisa phoso ea Tcl. Bakeng sa ho fetoloa ho ba bangata ka khoele, ho lemoha ho tlōla ho itšetlehile ka boitšoaro ba litloaelo tse ling molahong oa C oa moo, ka hona ho lokela ho nkoa e sa tšepahale. Ho sa tsotellehe boemo leha e le bofe, lenane le khaphatsehang le ka tlaase ho hang ha le fumanoe ka botšepehi bakeng sa liphetho tse ka hare. Pontšo e phallang le ho phalla e fumanoa ho ea ka tekanyo e tšehetsoeng ke hardware, eo hangata e ka tšeptjoang e ka tšeptjoang.

Phetoho pakeng tsa litlhahiso tsa ka hare bakeng sa lits'ebetso tse kholo, tse phaphamang, le lits'ebetso tsa marang-rang li etsoa ka boikokobetso ha ho hlokahala. Bakeng sa lipitso tsa lipalo, li-integers li sebelisoa ho fihlela nomoro e 'ngoe e phaphametsang e kenngoa,' me ka mor'a moo e sebelisoa. Ka mohlala,

expr 5/4

e khutla 1, ha nako

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

bobeli ba khutla 1.25. Litekanyetso tsa phaputso-ntlha li khutlisetsoa ka `` . '' kapa e e le hore ba se ke ba shebahala joaloka litekanyetso tsa batho ba bangata. Ka mohlala,

expr 20.0 / 5.0

e khutla 4.0 , eseng 4 .

Ts'ebetso

Litekanyetso tsa majoe li ka sebelisoa e le li-operands tsa li-operators tse bapisoang, le hoja mohlahlobi oa polelo o leka ho bapisa ho lekanngoa le ho lekanngoa kapa ho phapanyetsa ha ho khoneha. Haeba e 'ngoe ea opereishene ea papiso e le khoele' me e 'ngoe e na le palo ea linomoro, operand ea linomoro e khutliselitsoe ho khoele e sebelisa mokhoa oa C sprintf o hlalosang mokhoa oa % d bakeng sa litsamaiso le % g bakeng sa litekanyetso tsa phapang. Ka mohlala, litaelo

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

ka bobeli ba khutla 1. Papiso ea pele e etsoa ka ho bapisa ho hoholo, 'me ea bobeli e etsoa ka papiso ea lihlopha ka mor'a hore mosebetsi oa bobeli o fetisetsoe mohala oa 18 . Ka lebaka la tloaelo ea Tcl ea ho tšoara litekanyetso e le linomoro neng kapa neng ha ho khoneha, hangata ha ho na maikutlo a nepahetseng a ho sebelisa basebelisi joaloka == ha u hlile u batla papiso ea lipapali le litekanyetso tsa ba-operang e ka ba tse fapaneng; ho molemo ho maemong ana ho sebelisa taelo ea khoele ho e-na le hoo.

Tlhokomelo ea Ts'ebetso

Kenyelletsa lipolelo tsa li-braces bakeng sa lebelo le letle haholo le litlhoko tse nyenyane ka ho fetisisa tsa polokelo. Sena se lumella Tcl bytecode moqapi hore a hlahise khoutu e ntle ka ho fetisisa.

Joalokaha ho boletsoe ka holimo, lipolelo li kenngoa ka makhetlo a mabeli: hang ka kelello ea Tcl 'me ka lekhetlo le le leng ka taelo ea expr . Ka mohlala, litaelo

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

khutla 11, eseng e mengata ea 4. Ke hobane moetsi oa Tcl o tla nkela sebaka sa pele $ $ + 2 bakeng sa se feto-fetohang b , mme taelo ea expr e tla hlahloba polelo $ $ + 2 * 4 .

Mantsoe a mangata ha a hloke phetoho ea bobeli. Ebang li koaletsoe ka li-braces kapa, haeba ho se joalo, mekhoa ea bona e feto-fetohileng le ea litaelo e fana ka linomoro kapa likhoele tse sa batleng hore li kenngoe. Leha ho le joalo, hobane lipoleloana tse seng kae tse sa lumelloeng li hloka mekhoa e mabeli ea limela, moqapi oa bytecode o lokela ho ntša litaelo tse eketsehileng ho sebetsana le boemo bona. Molao-motheo o theko e boima ka ho fetisisa o hlokahalang bakeng sa lipolelo tse sa tsejoeng tse nang le litlatsetso tsa litaelo. Lipolelo tsena li tlameha ho kenngoa ts'ebetsong ka ho hlahisa khoutu e ncha nako le nako ha polelo e etsoa.

Lintlha tsa bohlokoa

lipuo, boolean , bapisa, polelo, papiso e fapaneng

Bohlokoa: Sebelisa taelo ea motho ( % motho ) ho bona hore na taelo e sebelisoa joang khomphuteng ea hau.