Ainm
expr - Dèan measadh air abairt
Synopsis
expr arg ? arg arg ...
Bidh iad a 'dèanamh co-dhùnaidhean arg (a' cur àiteachan sgairteachaidh eatarra), a 'measadh an toradh mar abairt Tcl, agus a' tilleadh an luach. Tha na h-obraichean a tha ceadaichte ann an riochdachaidhean Tcl nan sub-aonta de na h-obraichean a tha ceadaichte ann an riochdachaidhean C, agus tha an aon chiall agus an t-adhbhar as cudromaiche aca mar na gnìomhaichean C co-fhreagarrach. Tha briathran cha mhòr daonnan a ' toirt seachad toraidhean àireamhach (àireamhan iomlan no puing-bhog). Mar eisimpleir, an abairt
nochd 8.2 + 6luachadh gu 14.2. Tha eadar-dhealachaidhean Tcl eadar-dhealaichte bho C expressions san dòigh anns a bheil operands air an sònrachadh. Cuideachd, tha tairgsean Tcl a 'toirt taic do operandan neo-àireamhach agus coimeasan sreang.
Obraichean
Tha mìneachadh Tcl air a dhèanamh suas de mheasgachadh de operands, operators, agus bracaidean. Faodar àite geal a chleachdadh eadar na operands agus na h-obraichean is na braidean; tha stiùireadh an fhacail air a leigeil seachad. Far a bheil e comasach, thèid operands a mhìneachadh mar luachan sreathan. Faodar luachan coitcheann a bhith air an sònrachadh ann an deicheach (an cùis àbhaisteach), ann an octal (ma tha a 'chiad charactar den operand 0 ), no ann an hexadecimal (ma tha a' chiad dà charactar den operand 0x ). Mura h-eil aon de na cruthan sreathan a tha gu h-àrd ag operand, tha e air a làimhseachadh mar àireamh phuing-bhogha ma tha sin comasach. Faodar àireamhan puing-fliuch a bhith air an sònrachadh ann an gin de na dòighean ris an gabh compileiche C a choileanas ANSI (ach a-mhàin nach fhaighear na figearan f , f , l , agus L anns a 'mhòr-chuid de shuidheachaidhean). Mar eisimpleir, tha gach aon de na leanas nan àireamhan dligheach-fliuch dligheach: 2.1, 3., 6e4, 7.91e + 16. Mura h-eil mìneachadh àireamhach sam bith ann, bidh operand air fhàgail mar shreang (agus chan urrainnear ach seata cuibhrichte de ghnìomhaichean a chur a-steach thuige).
Faodar obraichean a shònrachadh ann an gin de na dòighean a leanas:
[1]
Mar luach àireamhach, an dàrna cuid n-aonad no puing-bhogha.
[2]
Mar atharrachadh air Tcl, a 'cleachdadh notation $ àbhaisteach. Thèid luach an caochlaideach a chleachdadh mar an operand.
[3]
Mar shreang ceangailte ri dùbailte dùbailte. Bidh am facal parser a 'coileanadh bratach, caochlaideach, agus cuirmean a-mach air an fhiosrachadh eadar na cunntasan agus a' cleachdadh an luach a tha ag èirigh mar an operand
[4]
Mar shreang ceangailte ann am brathan. Thèid na caractaran eadar am brace fosgailte agus a 'mhaidseadh dlùth a chleachdadh mar an operand gun riochdachaidhean sam bith.
[5]
Mar òrdugh Tcl ceangailte ann am camagan. Thèid an àithne a chur gu bàs agus thèid a toradh a chleachdadh mar an operand.
[6]
Mar ghnìomh matamataigeach aig a bheil argamaidean sam bith de na foirmean gu h-àrd airson operands, leithid peacadh ($ x) . Faic gu h-ìosal airson liosta de dhleastanasan sònraichte.
Far a bheil riochdachaidhean a 'nochdadh gu h-àrd (me taobh a-staigh nan teintean a chaidh ainmeachadh), thèid an coileanadh le stiùireadh an fhacail. Ach, dh'fhaoidte gum biodh sreathan de dh'ath-àiteachadh a-cheana air a bhith air a choileanadh leis a 'pharsair àithne mus deach a ghairm leis a' phròiseas deasachaidh. Mar a chaidh a dheasachadh gu h-ìosal, is fheàrr as àbhaist a bhith a 'toirt a-steach freagairtean ann am brathan gus casg a chur air piseadair na h-àithne bho bhith a' dèanamh soidhnichean air na susbaint.
Airson eisimpleirean de dh 'fhaclan sìmplidh, tha coltas gum bi luach aig an caochladair aig a bheil luach 3 agus tha an luach aig an caochlaideach b 6. An uairsin cuiridh an t-òrdugh air taobh clì gach loidhne gu h-ìosal an luach air taobh deas na loidhne:
expr 3.1 + $ a6.1 expr 2 + "$ a. $ b" 5.6 expr 4 * [llength "6 2"] 8 expr {{word one} <"word $ a"} 0Oibrichean
Tha na gnìomhaichean dligheach air an liostadh gu h-ìosal, air an cuir còmhla ann an òrdugh prìomhachais a tha a 'lùghdachadh:
- + ~!
Unary minus, unary plus, NOT glic glic, NOT NOT loidsigeach. Chan fhaod gin de na h-obrandan sin a bhith air an cur gu operandent sreang, agus dh 'fhaodadh gun tèid NOT a chuir a-steach gu h-iomlan.
* /%
Iomadachadh, roinn, rest. Chan fhaod gin de na h-obrandan sin a bhith air an cleachdadh airson operands sreang, agus chan fhaodar an còrr a chur an gnìomh ach gu h-iomlan. Bidh an còrr mar an ceudna aig an fheadhainn eile an-còmhnaidh mar an sgaradh agus luach iomlan nas lugha na an sgaradh.
+ -
Cuir ris agus toirt air falbh e. Dearbh airson obraichean àireamhach sam bith.
<< >>
Shift clì is deas. Dearbh airson operands sònaichte a-mhàin. Bidh shift ceart an-còmhnaidh a 'toirt buaidh air an t-soidhne.
<> <=> =
Boolean nas lugha, nas motha, nas lugha na no co-ionann, agus nas motha na no co-ionnan. Bidh gach gnìomhaiche a 'dèanamh 1 ma tha an suidheachadh fìor, 0 mar a tha e. Faodaidh na gnìomhaichean seo a bhith air an cur gu teignichean a bharrachd air operandan àireamhach, agus mar sin bidh coimeas sreang air a chleachdadh.
==! =
Boolean co-ionnan agus chan eil e co-ionnan. Bidh gach gnìomhaiche a 'cruthachadh toradh neoni / aon. Dearbh airson gach seòrsa operand.
&
Ceanglaichean Dearbh airson operands sònaichte a-mhàin.
^
Ceanglaichean Dearbh airson operands sònaichte a-mhàin.
|
Bith-ghlic NO. Dearbh airson operands sònaichte a-mhàin.
&&
AGUS loidsigeach. A 'dèanamh toradh 1 ma tha an dà chuid operands neo-neoni, 0 air dhòigh eile. Dearbhach airson operands boolean agus àireamhach (aonadan no puing-bhog) a-mhàin.
S an Iar-
OR loidsigeach. A 'dèanamh toradh 0 ma tha an dà operands neoni, 1 air dhòigh eile. Dearbhach airson operands boolean agus àireamhach (aonadan no puing-bhog) a-mhàin.
x ? y : z
Ma tha-an uairsin-eile, mar a tha ann an C. Ma tha x a ' measadh gu neo-neoni, is e an toradh luach a tha ann an y . A dh 'aindeoin sin, is e an toradh luach z . Feumaidh an x operand luach àireamhach a bhith aige.
Faic an leabhran C airson barrachd fiosrachaidh mu na toraidhean a tha gach gnìomhaiche a 'dèanamh. A h-uile buidheann gnìomhaiche dannsa a tha air chlì-gu-làimh taobh a-staigh an ìre phrìomhachais. Mar eisimpleir, an àithne
nochd 4 * 2 <7a 'tilleadh 0.
An && , || , agus?: tha "luachadh mearachdach" aig luchd-obrachaidh, dìreach mar a tha ann an C, rud a tha a 'ciallachadh nach tèid operands a mheasadh mura h-eil feum aca air a' bhuil a cho-dhùnadh. Mar eisimpleir, san òrdugh
expr {$ v? [a]: [b]}chan urrainnear ach aon de [a] no [b] a mheasadh, a rèir luach $ v . Thoir fa-near, ge-tà, nach eil seo fìor ach ma tha an abairt gu lèir dùinte ann am brathan; air dhòigh eile, bidh am parsairear Tcl a 'measadh an dà chuid [a] agus [b] mus iarr iad air an òrdugh expr .
Gnìomhan Math
Tha Tcl a 'toirt taic do na gnìomhan matamataigeach a leanas ann an abairtean:
abs cosh log sqrt acos double log10 srand asin exp pow tan aigan floor rand tanh atan2 fmod round ceil hypot sin cos int sinhabs ( arg )
A 'tilleadh luach iomlan arg . Is dòcha gum bi argamaid no aonad-flùr ann, agus thèid an toradh a thilleadh anns an aon fhoirm.
acos ( arg )
Till an arc cosine de arg , anns an raon [0, pi] radians. Bu chòir arg a bhith anns an raon [-1,1].
asin ( arg )
A 'tilleadh seinn arc arg , anns an raon radians [-pi / 2, pi / 2]. Bu chòir arg a bhith anns an raon [-1,1].
atan ( arg )
A 'tilleadh sochag arc arg , anns na radianairean [-pi / 2, pi / 2].
aigan2 ( x, y )
Tilleadh tangent arc y / x , anns an raon [-pi, pi] radians. Chan urrainn x agus y an dithis a bhith 0.
ceil ( arg )
A 'tilleadh an luach as motha a th' ann an-dràsta nach eil nas lugha na arg .
cos ( arg )
A 'tilleadh cosine arg , a tha air a thomhas ann an radians.
cosh ( arg )
A 'tilleadh a' chùis hiperbolic de arg . Ma dh 'adhbhraicheadh an toradh os-cionn, thèid mearachd a thilleadh.
dùbailte ( arg )
Mas e argamaid luach fliuch a th 'ann an argamaid , bidh e a' tilleadh argamaid , atharraichidh e arg a dh'atharraicheas e agus bheir e air ais an luach iompachadh.
exp ( arg )
Tha e a 'tilleadh mar chuimhneachan arg arg , air a mhìneachadh mar e ** arg . Ma dh 'adhbhraicheadh an toradh os-cionn, thèid mearachd a thilleadh.
làr ( arg )
Till an luach bunaiteach as motha nach eil nas motha na arg .
fmod ( x, y )
A 'tilleadh na tha air fhàgail de phìos-bhoghaidh de roinn x by y . Ma tha y 0, thèid mearachd a thilleadh.
hypot ( x, y )
A 'coimpiutaireachd fad hypotenuse triantan ceart-cheàrnach ( x * x + y * y ).
int ( arg )
Mas e argamaid luach sreathach a th 'ann, bidh e a' tilleadh argamaid , a 'tionndadh a-mach arg gu sreathan le bhith a' cromadh agus a 'tilleadh an luach iomlaid.
log ( arg )
A 'tilleadh an logarithm nàdarra de arg . Feumaidh argamaid a bhith na luach math.
log10 ( arg )
A 'tilleadh an logarithm bunaiteach 10 de arg . Feumaidh argamaid a bhith na luach math.
pow ( x, y )
Bidh coimpiutairean luach x air a thogail gu cumhachd y . Ma tha x àicheil, feumaidh e a bhith na luach sìor-fhillte.
rand ()
Thoir àireamh àitichean-teasairginn bho neoni gu dìreach nas lugha na aon no, ann an teirmean matamataigeach, an raon [0,1). Tha an sìol a 'tighinn bho chloc taobh a-staigh an inneil no faodar a bhith air a stèidheachadh le làimh-làimhe leis a' ghnìomhachd slat.
cruinn ( arg )
Mas e argamaid luach sreathach a th 'ann, a' tilleadh argamaid , atharraichidh e arg gu an t-sloinnear le bhith a 'cuairteachadh agus a' tilleadh an luach iomlaid.
peacadh ( arg )
A 'tilleadh slat arg , a tha air a thomhas ann an radians.
sinh ( arg )
A 'tilleadh an t- sruth hip-obrachail de arg . Ma dh 'adhbhraicheadh an toradh os-cionn, thèid mearachd a thilleadh.
sqrt ( arg )
A 'tilleadh freumh ceàrnagach arg . Feumaidh Arg a bhith neo-àicheil.
sligean ( arg )
Tha an arg , a dh'fheumar a bhith na h-àireimh-shlàn, air a chleachdadh gus an sìol ath-shuidheachadh airson gineadair àireamh thuaiream. A 'tilleadh a' chiad àireamh thuaireamach bhon sìol sin. Tha a sìol fhèin aig gach eadar-theangair.
tan ( arg )
A 'tilleadh tangent arg , a thomhais ann an radians.
tanh ( arg )
A 'tilleadh suidheachadh tìreil- obrachail arg .
A bharrachd air na gnìomhan ro-mhìnichte sin, faodaidh tagraidhean a bhith a 'mìneachadh gnìomhan a bharrachd a' cleachdadh Tcl_CreateMathFunc ().
Seòrsan, sruth-sgaoileadh, agus ro-shealladh
Tha a h-uile coimpiutaireachd taobh a-staigh co-ionnanachd air an dèanamh leis an t-seòrsa C fada , agus tha a h-uile coimpiutaireachd taobh a-staigh a tha a 'gabhail a-steach puing-bhogha air a dhèanamh leis an dà dhuilleag C Nuair a tha thu a 'tionndadh sreang gu puing-làimhe, lorgar sruth-tharraing mìneachaidh agus toiridh e mearachd Tcl. Airson tionndadh gu sruth-fhillte bho shreang, bidh lorg thar-tharraing an urra ri giùlan cuid de chleachdaidhean sa leabharlann ionadail C, mar sin bu chòir a mheas neo-earbsach. Ann an suidheachadh sam bith, mar as trice chan eilear a 'faighinn lorg gu h-earbsach airson toraidhean eadar-mheadhanach. Thathar a 'lorg thar-shruth agus fo-shlighe air a' phutadh-teasairginn chun na ceum a tha a 'faighinn taic bhon bhathar-cruaidh, a tha sa chumantas gu math earbsach.
Tha atharrachadh eadar na riochdachaidhean taobh a-staigh airson an t-sluaigh uile-ghluasadach, a tha a 'fleòdradh, agus operands sreang air a dhèanamh gu fèin-ghluasadach mar a dh' fheumar. Airson àireamhachadh àireamhachd, thèid na h-àireamhan uile a chleachdadh gus an tèid àireamh phuing-fliuch a thoirt a-steach, agus an uair sin thèid puing-fleòdhaidh a chleachdadh. Mar eisimpleir,
s an Ear-Dheasa 'tilleadh 1, fhad' sa tha e
expr 5 / 4.0 expr 5 / ([fad sreath "abcd"] + 0.0)bidh an dithis aca a 'tilleadh 1.25. Tha luachan puing fliuch an-còmhnaidh air an tilleadh le `` . '' no e gus nach coimhead iad mar luachan sreathan. Mar eisimpleir,
expr 20.0 / 5.0a 'tilleadh 4.0 , chan e 4 .
Obraichean String
Faodar luachan cuingeach a chleachdadh mar operands de na companaidhean coimeas, ged a tha am facal measaidh a 'feuchainn ri coimeasan a dhèanamh mar aonad-slàn no puing nuair a ghabhas e. Ma tha aon de na h-obrandan coimeas eadar sreang agus gu bheil luach àireamhach aig an fhear eile, tha an operand àireamhach air a thionndadh air ais gu sreang le bhith a 'cleachdadh an riochdaire C sprintf ann an cruth % d airson sònaichean agus % g airson luachan puing-bhogha. Mar eisimpleir, na h-òrdughan
expr {"0x03"> "2"} nochd {"0y" <"0x12"}an dà chuid a 'tilleadh 1. Thathar a' dèanamh a 'chiad choimeas le bhith a' dèanamh coimeas eadar-lìon, agus tha an dàrna fear air a dhèanamh le coimeas teann às deidh an dara operand atharrachadh gu sreang 18 . Air sgàth 's gu bheil Tcl buailteach a bhith a' làimhseachadh luachan mar àireamhan nuair a ghabhas e dèanamh, chan e deagh bheachd a th 'ann a bhith a' cleachdadh operators like == nuair a tha thu ag iarraidh coimeas teann agus gum faodadh luachan nan operands a bhith neo-àbhaisteach; tha e nas fheàrr anns na cùisean sin an t-òrdan sreang a chleachdadh an àite sin.
Beachdachaidhean Coileanaidh
A 'dùnadh freagairtean ann an sreathan airson an astar as fheàrr agus na riatanasan stòraidh as lugha. Leigidh seo le compiler Tcl byte gus an còd as fheàrr a chruthachadh.
Mar a chaidh a mhìneachadh gu h-àrd, tha na h-abairtean air an cur an àite dà uair: aon uair leis an neach - sgrùdaidh Tcl agus aon uair leis an òrdugh expr . Mar eisimpleir, na h-òrdughan
cuir seata 3 b {$ a + 2} expr $ b * 4till 11, chan e iomadach de 4. Tha seo air sgàth 's gum bi am parsairear Tcl an àite $ a + 2 airson an caochlaideach b , an uairsin bidh an t-òrdugh expr a ' luachadh an abairt $ a + 2 * 4 .
Chan fheum a 'mhòr-chuid de na h-abairtean dàrna cuairt de dh' ainmean. Tha iad fa leth an dàrna cuid ann an sgoltagan no, mura h-eil, na h-àireamhan de sholarachadh caochlaideach is òrdughan aca a tha a 'feumach air fo-riochdachadh. Ach, a chionn 's gu bheil feum air dà abairt neo-chliùiteach dà chuairt de chuir-seachadan, feumaidh an toirnear còd byte a-mach stiùireadh a bharrachd gus an suidheachadh seo a làimhseachadh. Tha an còd as daoire a dhìth airson freagairtean gun bhriseadh a tha a 'gabhail a-steach ionadan-stiùiridh. Feumaidh na h-abairtean sin a bhith air an cur an gnìomh le bhith a 'cruthachadh còd ùr gach uair a thèid an abairt a chur gu bàs.
Faclan-luirg
àireamhachd, boolean , coimeas, facal, coimeas eadar-dhealaichte
Cudromach: Cleachd an t-òrdugh fear ( % man ) gus faicinn mar a tha òrdugh air a chleachdadh air a 'choimpiutair agad.