Ainm
expr - Measúnú a dhéanamh ar léiriú
Achoimre
expr arg ? arg arg ... ?
Déanann concatenates arg (ag cur spásanna deighilte eatarthu), meastóireacht ar an toradh mar léiriú Tcl, agus déanann sé an luach ar ais. Is fo-thacar de na hoibreoirí a cheadaítear i sainmhínithe C iad na hoibreoirí a cheadaítear in abairtí Tcl, agus tá an bhrí chéanna agus an tosaíocht céanna acu mar na hoibreoirí C comhfhreagracha. Tá torthaí uimhriúla beagnach i gcónaí ag léirithe (luachanna slánuimhir nó pointe snámhphointe). Mar shampla, an abairt
expr 8.2 + 6meastóireacht ar 14.2. Tá difríochtaí Tcl éagsúil ó abairtí C ar an mbealach a shonraítear na operands. Chomh maith leis sin, tacú le sainmhínithe Tcl oibríochtaí neamhchláiriúla agus comparáidí teaghrán.
Oibríochtaí
Is éard atá i léiriú Tcl meascán de oibríochtaí, oibreoirí, agus braibíní. Is féidir spás bán a úsáid idir na gníomhairí agus na hoibreoirí agus na lúibíní; neamhaird ag treoracha an abairt. Nuair is féidir, déantar oibríochtaí a léiriú mar luachanna slánuimhreacha. Is féidir luachanna iomlána a shonrú i deachúil (an gnáth-chás), in octal (má tá an chéad ghné den operand 0 ), nó i hexadecimal (más 0x ) an chéad dá charachtar den operand. Mura bhfuil ceann de na formáidí slánuimhir thuas tugtha ag operand, ansin déileálfar leis mar uimhirphointe snámh má tá sé indéanta. Féadfar uimhreacha pointe snámh a shonrú in aon cheann de na bealaí a nglacann leantóir CIM-chomhlíontach ANSI (ach amháin nach gceadófar na hiarmhéideanna f , F , l , agus L sa chuid is mó de na suiteálacha). Mar shampla, is iad na nithe seo a leanas gach ceann díobh seo a leanas: 2.1, 3., 6e4, 7.91e + 16. Mura bhfuil aon léirmhíniú uimhriúil ann, déantar operand a fhágáil mar shraith (agus ní féidir ach sraith teoranta oibreoirí a chur i bhfeidhm air).
Féadfar oibríochtaí a shonrú in aon cheann de na bealaí seo a leanas:
[1]
Mar luach uimhriúil, ceachtar slánuimhir nó pointe snámh.
[2]
Mar athraitheach Tcl, ag baint úsáide as nóta caighdeánach $ . Úsáidfear luach an athróg mar an operand.
[3]
Mar theaghrán atá faoi iamh i Sleachta dúbailte. Déanfaidh an pearsanra abairt backslash, variable, agus substitutions an t-ordú ar an eolas idir na Sleachta agus an luach mar thoradh air sin a úsáid mar an operand
[4]
Mar theaghlach atá ceangailte i bracáin. Bainfear úsáid as na carachtair idir an brace oscailte agus an dlúthdhioscaí meaitseála mar an operand gan aon substitutions.
[5]
Mar ordú Tcl atá ceangailte i lúibíní. Déanfar an t-ordú a fhorghníomhú agus bainfear úsáid as an toradh mar an operand.
[6]
Mar fheidhm matamaiticiúil a bhfuil aon cheann de na foirmeacha thuas ar a gcuid argóintí le haghaidh oibriúcháin, mar shampla sin ($ x) . Féach thíos le haghaidh liosta de na feidhmeanna sainithe.
Nuair a tharlaíonn substaintí thuas (m.sh. teaghráin atá luaite), déantar iad a threorú ag treoracha an abairt. Mar sin féin, d'fhéadfadh an scáileán ordú ciseal breise ionadú a dhéanamh sula dtugtar glaoch ar an bpróiseálaí focal. Mar a phléitear thíos, is fearr is gnách luachanna a chur in iúl i braces chun cosc a chur ar an mbreiseoir ordú ó chur in ionad substaintí ar an ábhar.
I gcás roinnt samplaí de abairtí simplí, is dócha go bhfuil luach ag an athróg ar luach 3 agus tá luach 6. ag an athróg b . Ansin, cuirfidh an t-ordú ar thaobh clé gach ceann de na línte thíos an luach ar an taobh deas den líne:
expr 3.1 + $ a6.1 expr 2 + "$ a. $ b" 5.6 expr 4 * [llength "6 2"] 8 expr {{word one} <"word $ a"} 0Oibreoirí
Tá na hoibreoirí bailí liostaithe thíos, grúpaithe in ord tosaíochta a laghdú:
- + ~!
Unary minus, unary plus, giotán NACH, loighciúil NACH. Ní fhéadfar aon cheann de na hobairniúcháin seo a chur i bhfeidhm maidir le gníomhairí teaghrán, agus ní féidir NACH giotán a chur i bhfeidhm ach amháin ar shlánuimhreacha.
* /%
Iolraigh, roinnt, fágtha. Ní fhéadfar aon cheann de na hobairniúcháin seo a chur i bhfeidhm maidir le gníomhairí teaghrán, agus ní fhéadfar an chuid eile a chur i bhfeidhm ach amháin maidir le slánuimhreacha. Beidh an comhartha céanna ag an gcuid eile i gcónaí leis an rannán agus luach iomlán níos lú ná an rannóg.
+ -
Cuir agus tarraing. Bailí le haghaidh aon oibríochtaí uimhriúla.
<< >>
Aistriú clé agus ceart. Bailí le haghaidh operands slánuimhir amháin. Cuireann aistriú ceart an ghiotán comharthaí i gcónaí.
<> <=> =
Boole níos lú, níos mó, níos lú ná nó cothrom, agus níos mó ná nó cothrom. Táirgeann gach oibreoir 1 má tá an coinníoll fíor, 0 ar shlí eile. Féadfar na hoibreoirí seo a chur i bhfeidhm maidir le teaghráin chomh maith le hoibríochtaí uimhriúla, agus sa chás ina n-úsáidtear comparáid teaghrán.
==! =
Boole comhionann agus ní comhionann. Táirgeann aon oibreoir toradh náid / amháin. Bailí do gach cineál operand.
&
Giotán-ciallmhar AGUS. Bailí le haghaidh operands slánuimhir amháin.
^
NÓ eisiatach giotánmhar. Bailí le haghaidh operands slánuimhir amháin.
|
Níos ciallmhar NÓ. Bailí le haghaidh operands slánuimhir amháin.
&&
Loighciúil AGUS. Léiríonn toradh 1 má tá an dá operands neamh-nialas, 0 ar shlí eile. Bailí i gcomhair oibríochtaí boolean agus uimhriúla (slánuimhir nó pointe snámhphointe) amháin.
||
NÓ loighciúil. Léiríonn 0 toradh má tá an dá oibríocht náid, 1 ar shlí eile. Bailí i gcomhair oibríochtaí boolean agus uimhriúla (slánuimhir nó pointe snámhphointe) amháin.
x ? y : z
Más rud é-ansin, mar atá i C. Má mheasann x go neamh-nialas, ansin is é an toradh luach y . Seachas sin, is é an toradh luach z . Ní mór go mbeadh luach uimhriúil ag an operand x .
Féach an lámhleabhar C le haghaidh tuilleadh sonraí ar na torthaí a tháirgeann gach oibreoir. Gach grúpa oibreoirí dénártha ar chlé go deas laistigh den leibhéal tosaíochta céanna. Mar shampla, an t-ordú
nocht 4 * 2 <7tuairisceáin 0.
An && , || , agus?: tá `` meastóireacht leisciúil '' ag oibreoirí, díreach mar atá i C, rud a chiallaíonn nach ndéantar oibríochtaí a mheas mura bhfuil gá leo chun an toradh a chinneadh. Mar shampla, san ordú
expr {$ v? [a]: [b]}ní dhéanfar ach ceann amháin de [a] nó [b] a mheas i ndáiríre, ag brath ar luach $ v . Tabhair faoi deara, áfach, go bhfuil sé seo fíor ach amháin má tá an abairt iomlán faoi iamh i bracáin; ar shlí eile, déanfaidh an parscóir Tcl measúnú [a] agus [b] araon sula nglacfaidh sí isteach ar an ordú expr .
Feidhmeanna Math
Tcl tacaíonn na feidhmeanna matamaiticiúla seo a leanas i bhfocail:
logáil le háireamh agus logáil isteach i dteannta an oiread sin agus beidh an t- aonad ag gabháil leis an bpróiseas seo,abs ( arg )
Tuairisceáin luach iomlán arg . D'fhéadfaí argóint nó snámhphointe a bheith ann, agus déantar an toradh a chur ar ais san fhoirm chéanna.
acos ( arg )
Tuairisceann an cosine stua de arg , sa raon [0, pi] radians. Ba chóir go mbeadh Arg sa raon [-1,1].
asin ( arg )
Tuairisceáin an t-sciath stua arg , sa radians [-pi / 2, pi / 2]. Ba chóir go mbeadh Arg sa raon [-1,1].
atan ( arg )
Tuairisceáin tangú stua arg arg , sa radians raon [-pi / 2, pi / 2].
atan2 ( x, y )
Tuairisceáin tangú stua y / x , sa raon [-pi, pi] radians. Ní féidir x agus y 0 a bheith acu araon.
ceil ( arg )
Tuairisceáin an luach slánuimhir is lú nach lú ná arg .
cos ( arg )
Tuairisceann an cosine arg , a thomhas i radians.
cosh ( arg )
Tuairisceán ar an cosine hipearbóbach de arg . Más rud é go dtarlódh an toradh le maolú, cuirfear earráid ar ais.
dúbailte ( arg )
Más rud é go bhfuil luach snámh ann le arg , déanann sé tuairisceán ar argóint , déanann sé arg argóint go snámh agus cuireann sé an luach comhshó ar ais.
exp ( arg )
Tuairisceáin neamhspleácha arg , a shainmhínítear mar e ** arg . Más rud é go dtarlódh an toradh le maolú, cuirfear earráid ar ais.
urlár ( arg )
Tuairisceáin an luach lárnach is mó nach mó ná arg .
fmod ( x, y )
Fágann an chuid eile den roinn snámh de roinn x by y . Má tá 0, cuirtear earráid ar ais.
hypot ( x, y )
Ríomhaíonn fad an triantáin dhronuilleogach ( x * x + y * y ).
int ( arg )
Más rud é go bhfuil luach slánuimhir ag arg , déanann sé tuairisceán argóint , athraíonn sé arg a shlánuimhir trí thruncáil agus déanann sé tuairisceán ar an luach comhshó.
logáil ( arg )
Tuairisceáin logarithm nádúrtha arg . Caithfidh Arg a bheith ina luach dearfach.
log10 ( arg )
Tuairisceán an logarithm bonn 10 de arg . Caithfidh Arg a bheith ina luach dearfach.
pow ( x, y )
Ríomhtar luach x a ardaíodh don chumhacht y . Má tá x diúltach, ní mór go mbeadh luach slánuimhir ann.
rand ()
Tuairisceann uimhir phointe snámha ó nialas go dtí níos lú ná ceann amháin nó, i dtéarmaí matamaitice, an raon [0,1). Tagann an síol as clog inmheánach an mheaisín nó is féidir lámhleabhar a shocrú leis an sraith fheidhm.
babhta ( arg )
Más rud é go bhfuil luach slánuimhir ag arg , déanann sé tuairisceán argóint , athraíonn sé sin arg le slánuimhir tríd an luach comhshó a bhailiú agus a thuairisceán.
sin ( arg )
Tuairisceann an sine arg , a thomhas i radians.
sinh ( arg )
Tuairisceáin an sine hyperbolic of arg . Más rud é go dtarlódh an toradh le maolú, cuirfear earráid ar ais.
sqrt ( arg )
Tuairisceáin fréamh cearnach arg . Ní mór Arg a bheith neamhdhiúltach.
srand ( arg )
Úsáidtear an arg , a chaithfidh a bheith ina slánuimhir, chun an síol a athshocrú don ghineadóir uimhir randamach. Tuairisceáin an chéad uimhir randamach ón síol sin. Tá a síol féin ag gach ateangaire.
tan ( arg )
Tuairisceann tadhlaí arg , a thomhaistear i radians.
tanh ( arg )
Tuairisceáin tadhlaí hipebóbach arg .
Chomh maith leis na feidhmeanna réamhshainithe seo, féadfaidh iarratais feidhmeanna breise a shainiú ag baint úsáide as Tcl_CreateMathFunc ().
Cineálacha, Overflow, agus Beachtas
Déantar gach ríomhaireacht inmheánach a bhaineann le slánuimhreacha leis an gcineál C ar fad , agus déantar gach ríomh inmheánach lena mbaineann pointe snámh leis an gcineál dúbailte C. Nuair a dhéantar téad a thiontú go pointe snámh, braitheann sreabhadh eispéirteach agus cuireann sé earráid Tcl mar thoradh air. Maidir le comhshó go slánuimhir ó teaghrán, braitheann an t-eis-sreabhadh ar iompar roinnt gnáthaimh sa leabharlann áitiúil C, agus mar sin níor chóir a mheas mar neamh-iontaofa. In aon chás, ní aimsítear go hiontaofa le haghaidh torthaí idirmheánacha go hiontaofa thar lear agus lasmuigh den sreabhadh. Braitheann an-sreabhadh agus eas-sreabhadh pointe snámh ar an leibhéal a thacaíonn na crua-earraí, agus is iontaofa í go ginearálta.
Déantar comhshó i measc uiríll inmheánacha maidir le slánuimhir, pointe snámh, agus oibríochtaí teaghrán a dhéanamh de réir mar is gá. Le haghaidh ríomhaireacht uimhríochta, úsáidtear slánuimhreacha go dtí go dtabharfar isteach roinnt pointe snámhphointe, agus ina dhiaidh sin úsáidtear pointe snámh. Mar shampla,
expr 5/4tuairisceáin 1, fad
expr 5 / 4.0 expr 5 / ([fad teaghrán "abcd"] + 0.0)an dá thuairisceán 1.25. Cuirtear luachanna pointe snámh ar ais i gcónaí le `` . '' nó e ionas nach mbeidh siad cosúil le luachanna slánuimhreacha. Mar shampla,
expr 20.0 / 5.0tuairisceáin 4.0 , ní 4 .
Oibríochtaí Teaghlaigh
Is féidir luachanna teorainneacha a úsáid mar oibriúcháin na n-oibreoirí comparáide, cé go bhfuil an meastóir cainte ag iarraidh comparáidí a dhéanamh mar pháipéar slánuimhir nó snámh nuair is féidir é. Más rud é go bhfuil ceann de na operandaí comparáide le sreang agus go bhfuil luach uimhriúil ag an taobh eile, déantar an operand uimhriúil a thiontú ar ais go sreang ag baint úsáide as an sainchomhad C sprintf formáid % d le haghaidh slánuimhreacha agus % g do luachanna pointe snámh. Mar shampla, na horduithe
expr {"0x03"> "2"} expr {"0y" <"0x12"}an dá tuairisceán 1. Déantar an chéad chomparáid trí úsáid a bhaint as comparáid iomlán, agus déantar an dara ceann trí úsáid a bhaint as comparáid teaghrán tar éis an dara operand a thiontú go dtí an teaghrán 18 . Mar gheall ar chlaonadh Tcl chun luachanna a chóireáil mar uimhreacha nuair is féidir, níl sé mar smaoineamh maith ann go n-úsáidfeadh oibreoirí == nuair is mian leat comparáid idir teaghrán agus gur féidir luachanna na n-oibríochtaí a bheith treallach; tá sé níos fearr sna cásanna seo an t-ordú teaghrán a úsáid ina ionad.
Breithnithe Feidhmíochta
Cealaigh abairtí i bracáin chun an luas is fearr agus na ceanglais stórála is lú. Ligeann sé seo an t-imreoir Tcl bytecode chun an cód is fearr a ghiniúint.
Mar a luadh thuas, cuirtear abairtí in ionad dhá uair: uair amháin ag an parscóir Tcl agus uair amháin ag an ordú nochta . Mar shampla, na horduithe
Socraigh 3 sraith b {$ a + 2} expr $ b * 4tuairisceán 11, ní iolra de 4. Is é seo toisc go ndéanfaidh an parscóir Tcl in ionad $ a + 2 don athróg b , ansin déanfaidh an t-ordú expr measúnú ar an abairt $ a + 2 * 4 .
Ní gá an dara babhta de na hinstitiúidí a bheith ag teastáil. Tá ceachtar acu faoi iamh i bracáin nó, más rud é nach bhfuil, tá a n-ionaid athróg agus athsholáthair ordú uimhreacha nó teaghráin ag teastáil nach n-iarrann substaintí iad féin. Mar sin féin, toisc go bhfuil dhá bhabhta d'fhostuithe ag teastáil ó abairtí neamhbhréagtha, ní mór don tiomsaitheoir byteanna treoracha breise a scaoileadh chun an staid seo a láimhseáil. Tá an cód is costasaí ag teastáil le haghaidh abairtí neamhráite a bhfuil substaintí ordú ann. Ní mór na habairtí sin a chur chun feidhme trí chód nua a ghiniúint gach uair a dhéantar an abairt a chur chun feidhme.
Keywords
uimhríocht, boolean , comparáid, léiriú, comparáid dhochrach
Tábhachtach: Bain úsáid as an ordú fear ( % man ) chun a fheiceáil conas a úsáidtear ordú ar do ríomhaire ar leith.