ຊື່
expr - ປະເມີນຜົນການສະແດງອອກ
Synopsis
expr arg ? arg arg ?
Concatenates arg 's (ເພີ່ມຊ່ອງຫວ່າງແຍກລະຫວ່າງພວກເຂົາ), ປະເມີນຜົນເປັນຜົນສະທ້ອນ Tcl, ແລະສົ່ງຄືນມູນຄ່າ. ຜູ້ປະຕິບັດການອະນຸຍາດໃນການສະແດງອອກ Tcl ເປັນກຸ່ມຂອງຜູ້ປະຕິບັດງານທີ່ອະນຸຍາດໃຫ້ໃຊ້ໃນການສະແດງ C ແລະພວກເຂົາມີຄວາມຫມາຍແລະຄວາມສໍາຄັນດຽວກັນກັບຜູ້ປະຕິບັດ C ທີ່ສອດຄ້ອງກັນ. ການສະແດງອອກເກືອບສະເຫມີ ຜົນຜະລິດຈໍານວນຕົວເລກ (ຄ່າ integer ຫຼື floating ຈຸດ). ຕົວຢ່າງ, ການສະແດງອອກ
expr 82 + 6ປະເມີນເຖິງ 142. ການສະແດງອອກ Tcl ແຕກຕ່າງຈາກການສະແດງ C ໃນທາງທີ່ນັກສະແດງໄດ້ຖືກກໍານົດ. ນອກຈາກນີ້, ການສະແດງອອກຂອງ Tcl ສະຫນັບສະຫນູນຕົວແປທີ່ບໍ່ມີຕົວເລກແລະການປຽບທຽບສາຍ.
Operands
ການສະແດງອອກຂອງ Tcl ປະກອບດ້ວຍການປະສົມປະສານຂອງ operands, operators ແລະ parentheses. ຊ່ອງສີຂາວອາດຈະຖືກນໍາໃຊ້ລະຫວ່າງຕົວປະຕິບັດແລະຜູ້ປະຕິບັດງານແລະວົງເລັບ; ມັນຖືກປະຕິເສດໂດຍຄໍາແນະນໍາຂອງຄໍາສະແດງອອກ. ບ່ອນທີ່ເປັນໄປໄດ້, ປະຕິບັດໄດ້ຖືກຕີຄວາມວ່າເປັນຄ່າຕົວເລກ. ຄ່າຕົວເລກອາດຈະຖືກລະບຸໄວ້ໃນຕົວເລກຖານສິບຕື້ (ໃນກໍລະນີປົກກະຕິ), ໃນ octal (ຖ້າຕົວອັກສອນທໍາອິດຂອງ operand ແມ່ນ 0 ), ຫຼື hexadecimal (ຖ້າສອງຕົວທໍາອິດຂອງ operand ແມ່ນ 0x ). ຖ້ານັກປະຕິກອນບໍ່ມີຮູບແບບຈໍານວນຫນຶ່ງທີ່ໄດ້ກ່າວໄວ້ຂ້າງເທິງແລ້ວ, ມັນຖືກຖືວ່າເປັນຈໍານວນຈຸດທີ່ຫຼາກຫຼາຍຖ້າວ່າມັນເປັນໄປໄດ້. ຕົວເລກ floating-point ອາດຈະຖືກກໍານົດໄວ້ໃນວິທີໃດໆທີ່ໄດ້ຮັບການຍອມຮັບໂດຍ compiler C compliant C (ຍົກເວັ້ນວ່າ suffixes f , F , l ແລະ L ຈະບໍ່ຖືກອະນຸຍາດໃນການຕິດຕັ້ງສ່ວນໃຫຍ່). ຕົວຢ່າງ, ທັງຫມົດຂອງສິ່ງຕໍ່ໄປນີ້ແມ່ນຈໍານວນທີ່ມີຈຸດຫມາຍເລກທີ່ຖືກຕ້ອງ: 2.1, 3. , 6e4, 7.91e + 16. ຖ້າບໍ່ມີການຕີລາຄາຈໍານວນຫນຶ່ງ, ຫຼັງຈາກນັ້ນ, ປະຕິກິລິຍາຖືກປະໄວ້ເປັນສາຍ (ແລະມີພຽງແຕ່ຈໍານວນຜູ້ປະຕິບັດງານຈໍາກັດອາດຈະຖືກນໍາໃຊ້ກັບມັນ).
Operands ສາມາດລະບຸໄວ້ໃນວິທີໃດຫນຶ່ງຕໍ່ໄປນີ້:
[1]
ໃນຖານະເປັນມູນຄ່າຈໍານວນຫນຶ່ງ, ເປັນຈໍານວນເຕັມຫຼື floating ຈຸດ.
[2]
ໃນຖານະເປັນຕົວແປ Tcl, ການນໍາໃຊ້ລະບົບມາດຕະຖານ $ . ຄ່າຂອງຕົວແປຈະຖືກນໍາໃຊ້ເປັນຕົວປະຕິບັດ.
[3]
ໃນຖານະເປັນຊ່ອຍແນ່ຕິດຂັດໃນສອງຄໍາເວົ້າ. parser ການສະແດງອອກຈະປະຕິບັດແທນການປ່ຽນແທນ, ຕົວແປແລະຄໍາສັ່ງກ່ຽວກັບຂໍ້ມູນລະຫວ່າງວົງຢືມ, ແລະນໍາໃຊ້ມູນຄ່າຜົນໄດ້ຮັບເປັນຕົວປະຕິບັດ
[4]
ໃນຖານະເປັນເຊືອກທີ່ຕິດຢູ່ໃນຜ້າກັນເປື້ອນ. ຕົວອັກສອນລະຫວ່າງແຖບເປີດແລະການຈັບຄູ່ທີ່ໃກ້ຈະຖືກນໍາໃຊ້ເປັນຕົວປະຕິບັດໂດຍບໍ່ມີການທົດແທນໃດໆ.
[5]
ເປັນຄໍາສັ່ງ Tcl ທີ່ຕິດຢູ່ໃນວົງເລັບ. ຄໍາສັ່ງຈະຖືກປະຕິບັດແລະຜົນຂອງມັນຈະຖືກນໍາໃຊ້ເປັນນັກປະຕິບັດງານ.
[6]
ໃນຖານະເປັນຄະນິດສາດທີ່ມີການໂຕ້ຖຽງມີຮູບແບບຂ້າງເທິງໃດໆສໍາລັບນັກປະຕິບັດເຊັ່ນ sin ($ x) . ເບິ່ງຕໍ່ໄປນີ້ສໍາລັບບັນຊີລາຍຊື່ຂອງຫນ້າທີ່ກໍານົດໄວ້.
ບ່ອນທີ່ມີການປ່ຽນແທນທີ່ເກີດຂື້ນຂ້າງເທິງ (ຕົວຢ່າງເຊັ່ນພາຍໃນຊ່ອຍແນ່), ພວກມັນຖືກປະຕິບັດຕາມຄໍາແນະນໍາຂອງຄໍາສະແດງອອກ. ຢ່າງໃດກໍ່ຕາມ, ການປ່ຽນແທນຊັ້ນເພີ່ມເຕີມອາດໄດ້ຖືກປະຕິບັດໂດຍຕົວຊີ້ບອກຄໍາສັ່ງກ່ອນທີ່ຈະເອີ້ນວ່າໂປຣແກຣມປະມວນຜົນ. ດັ່ງທີ່ໄດ້ສົນທະນາຂ້າງລຸ່ມນີ້, ມັນມັກຈະເປັນປະໂຫຍດທີ່ສຸດເພື່ອສະແດງການສະແດງອອກໃນແຖບເພື່ອປ້ອງກັນບໍ່ໃຫ້ຕົວແປຄໍາສັ່ງຈາກການສະແດງຜົນແທນໃນເນື້ອຫາ.
ຕົວຢ່າງຂອງຄໍາສະແດງງ່າຍໆສົມມຸດວ່າຕົວແປ ທີ່ ມີຄ່າ 3 ແລະຕົວແປ b ມີມູນຄ່າ 6. ຫຼັງຈາກນັ້ນ, ຄໍາສັ່ງໃນເບື້ອງຊ້າຍຂອງແຕ່ລະເສັ້ນຂ້າງລຸ່ມນີ້ຈະສ້າງມູນຄ່າຢູ່ເບື້ອງຂວາຂອງເສັ້ນ:
expr 3 + $ a6.1 expr 2 + "$ a $ b" 56 expr 4 * [llength "6 2"] 8 expr {{one word}} <"word $ a"} 0ຜູ້ປະຕິບັດງານ
ຜູ້ປະຕິບັດທີ່ຖືກຕ້ອງຖືກລະບຸໄວ້ຂ້າງລຸ່ມນີ້, ຈັດລໍາດັບຄວາມລ່ວງລະເມີດຫຼຸດລົງ:
- + ~!
Unary minus, unary ບວກ, bit ບໍ່ສະຫລາດ, ບໍ່ມີເຫດຜົນ. ບໍ່ມີການປະຕິບັດງານເຫຼົ່ານີ້ສາມາດຖືກນໍາໃຊ້ກັບນັກປະຕິກອນສະຕິງແລະບໍ່ສາມາດນໍາໃຊ້ໄດ້ບໍ່ເທົ່າທຽມກັນກັບຈໍານວນເຕັມ.
* /%
Multiply, divide, remainder ບໍ່ມີການປະຕິບັດງານເຫຼົ່ານີ້ສາມາດຖືກນໍາໃຊ້ກັບຕົວປະກອບສາຍອັກສອນ, ແລະສ່ວນທີ່ເຫຼືອອາດຈະຖືກນໍາໃຊ້ພຽງແຕ່ຈໍານວນເຕັມ. ສ່ວນທີ່ເຫຼືອຈະມີສັນຍານດຽວກັນກັບ divisor ແລະມູນຄ່າຢ່າງແທ້ຈິງທີ່ນ້ອຍກວ່າ divisor.
+ -
ເພີ່ມແລະຖອນຕົວ. ສາມາດໃຊ້ໄດ້ສໍາລັບຕົວເລກຈໍານວນໃດໆ.
<< >>
ການປ່ຽນແປງຊ້າຍແລະຂວາ. Valid for integer operands only ການປ່ຽນແປງທີ່ຖືກຕ້ອງສະເຫມີ propagates bit sign.
<> <=> =
Boolean ຫນ້ອຍ, ໃຫຍ່, ຫນ້ອຍກວ່າຫຼືເທົ່າທຽມກັນ, ແລະຫຼາຍກວ່າຫຼືເທົ່າທຽມກັນ. ແຕ່ລະຜູ້ປະກອບການຜະລິດ 1 ຖ້າເງື່ອນໄຂແມ່ນຄວາມຈິງ 0 ຖ້າບໍ່ດັ່ງນັ້ນ. ການປະຕິບັດເຫຼົ່ານີ້ສາມາດຖືກນໍາໃຊ້ກັບສາຍແລະຕົວປະຕິບັດຕົວເລກ, ໃນກໍລະນີທີ່ການປຽບທຽບກັບສາຍທີ່ຖືກນໍາໃຊ້.
==! =
Boolean ເທົ່າທຽມກັນແລະບໍ່ເທົ່າທຽມກັນ. ແຕ່ລະຜູ້ປະກອບການຜະລິດຜົນສູນ / ຫນຶ່ງ. ຖືກຕ້ອງສໍາລັບທຸກປະເພດຂອງປະຕິກິລິຍາ.
&
Bit-wise AND. Valid for integer operands only
"
Bit-wise exclusively OR. Valid for integer operands only
|
Bit-wise OR. Valid for integer operands only
&&
Logical AND ຜະລິດຜົນ 1 ຖ້າທັງສອງ operands ບໍ່ແມ່ນ 0, 0 ຖ້າບໍ່ດັ່ງນັ້ນ. ຖືກຕ້ອງສໍາລັບ boolean ແລະຈໍານວນ (integers ຫຼື floating ຈຸດ) operands ພຽງແຕ່.
||
Logical OR ຜະລິດຜົນ 0 ຖ້າທັງສອງປະຕິບັດແມ່ນສູນ, 1 ຖ້າບໍ່ດັ່ງນັ້ນ. ຖືກຕ້ອງສໍາລັບ boolean ແລະຈໍານວນ (integers ຫຼື floating ຈຸດ) operands ພຽງແຕ່.
x ? y : z
ຖ້າຫາກວ່າ, ຫຼັງຈາກນັ້ນ, ເຊັ່ນດຽວກັນກັບໃນ C. ຖ້າ x ປະເມີນວ່າບໍ່ແມ່ນສູນ, ຫຼັງຈາກນັ້ນຜົນໄດ້ຮັບແມ່ນມູນຄ່າຂອງ y . ຖ້າບໍ່ດັ່ງນັ້ນ, ຜົນໄດ້ຮັບແມ່ນມູນຄ່າຂອງ z . x operand ຕ້ອງມີຄ່າຕົວເລກ.
ເບິ່ງຄູ່ມື C ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບຜົນໄດ້ຮັບທີ່ຜະລິດໂດຍຜູ້ບໍລິຫານແຕ່ລະຄົນ. ທັງຫມົດຂອງກຸ່ມ ຜູ້ປະຕິບັດງານໄບ ນາທີຈາກຊ້າຍໄປຫາຂວາພາຍໃນລະດັບຄວາມສໍາຄັນດຽວກັນ. ຕົວຢ່າງ, ຄໍາສັ່ງ
expr 4 * 2 <7ຄືນ 0
The && , || , ແລະ ?: ຜູ້ປະຕິບັດງານມີການປະເມີນຜົນ ", ຄືກັນກັບໃນ C, ຊຶ່ງຫມາຍຄວາມວ່ານັກວິຊາການບໍ່ໄດ້ຖືກປະເມີນຖ້າພວກເຂົາບໍ່ຈໍາເປັນຕ້ອງກໍານົດຜົນໄດ້ຮັບ. ຕົວຢ່າງ, ໃນຄໍາສັ່ງ
expr {$ v? [a]: [b]}ພຽງແຕ່ຫນຶ່ງໃນ [a] ຫຼື [b] ຈະໄດ້ຮັບການປະເມີນຜົນ, ອີງຕາມມູນຄ່າຂອງ $ v . ຫມາຍເຫດ, ຢ່າງໃດກໍຕາມ, ວ່ານີ້ແມ່ນແທ້ຈິງຖ້າຫາກວ່າການສະແດງອອກທັງຫມົດແມ່ນຢູ່ໃນວົງເລັບ; ຖ້າບໍ່ດັ່ງນັ້ນ, parser Tcl ຈະປະເມີນຜົນທັງສອງ [a] ແລະ [b] ກ່ອນທີ່ຈະເອີ້ນຄໍາສັ່ງ expr .
Functions Math
Tcl ສະຫນັບສະຫນູນຫນ້າທີ່ຄະນິດສາດຕໍ່ໄປນີ້ໃນການສະແດງອອກ:
ບໍ່ມີ ເຫດຜົນກ່ຽວກັບ ບັນຫາທີ່ ເກີດຂື້ນໃນເວລາດຽວກັນກັບເຫດການດັ່ງກ່າວ.abs ( arg )
Returns the absolute value of arg Arg ອາດຈະເປັນ integer ຫຼື floating ຈຸດ, ແລະຜົນໄດ້ຮັບແມ່ນຖືກສົ່ງຄືນໃນແບບດຽວກັນ.
acos ( arg )
ສົ່ງຄອດ cosine ຂອງ arg , ໃນລະດັບ [0, pi] radians. Arg ຄວນຢູ່ໃນລະດັບ [-1,1].
asin ( arg )
ກັບຄືນຫາ sine arc ຂອງ arg , ໃນຂອບເຂດ [-pi / 2, pi / 2] radians. Arg ຄວນຢູ່ໃນລະດັບ [-1,1].
atan ( arg )
ກັບຄືນຂອງ arc tangent ຂອງ arg , ໃນຂອບເຂດ [-pi / 2, pi / 2] radians.
atan2 ( x, y )
Returns the arc tangent of y / x , in the range [-pi, pi] radians x ແລະ y ບໍ່ສາມາດທັງ 0.
ceil ( arg )
ຄືນມູນຄ່າຕົວເລກທີ່ນ້ອຍທີ່ສຸດບໍ່ຫນ້ອຍກວ່າ arg .
cos ( arg )
ກັບຄືນ cosine ຂອງ arg , ການວັດແທກໃນ radians.
cosh ( arg )
ກັບຄືນ cosine hyperbolic ຂອງ arg . ຖ້າຜົນໄດ້ຮັບຈະເຮັດໃຫ້ເກີດການໄຫຼ, ຂໍ້ຜິດພາດຈະຖືກສົ່ງຄືນ.
double ( arg )
ຖ້າ arg ແມ່ນເປັນຄ່າ floating, returns arg , ຖ້າບໍ່ດັ່ງນັ້ນຈະປ່ຽນແປງ arg ເພື່ອ floating ແລະສົ່ງຄືນມູນຄ່າ converted.
exp ( arg )
ກັບຄືນຜົນຂອງ exponential ຂອງ arg , ຖືກກໍານົດວ່າ e ** arg . ຖ້າຜົນໄດ້ຮັບຈະເຮັດໃຫ້ເກີດການໄຫຼ, ຂໍ້ຜິດພາດຈະຖືກສົ່ງຄືນ.
ຊັ້ນ ( arg )
ຄືນມູນຄ່າ integral ທີ່ໃຫຍ່ທີ່ສຸດບໍ່ໃຫຍ່ກວ່າ arg .
fmod ( x, y )
ສົ່ງກັບສ່ວນທີ່ຍັງເຫຼືອຂອງ floating point ຂອງສ່ວນຂອງ x ໂດຍ y . ຖ້າ y ແມ່ນ 0, ຂໍ້ຜິດພາດຈະຖືກສົ່ງຄືນ.
hypot ( x, y )
ສົມທຽບໄລຍະເວລາຂອງ hypotenuse ຂອງສາມຫລ່ຽມຂວາ ( x * x + y * y ).
int ( arg )
ຖ້າ arg ແມ່ນມູນຄ່າ integer, returns arg , ຖ້າບໍ່ດັ່ງນັ້ນຈະປ່ຽນແປງກັບ integer ໂດຍ truncation ແລະສົ່ງກັບຄືນມູນຄ່າ converted.
log ( arg )
ສົ່ງກັບ logarithm ທໍາມະຊາດຂອງ arg . Arg ຕ້ອງເປັນຄ່າບວກ.
log10 ( arg )
ກັບຄືນມາ base 10 logarithm of arg . Arg ຕ້ອງເປັນຄ່າບວກ.
pow ( x, y )
computes ຄ່າຂອງ x ຍົກຂຶ້ນມາກັບພະລັງງານ y . ຖ້າ x ເປັນຕົວລົບ, y ຕ້ອງເປັນຄ່າຕົວເລກ.
rand ()
Returns a point floating point from zero to just less than one or, in terms mathematical, range [0,1] ເມັດພັນແມ່ນມາຈາກໂມງພາຍໃນຂອງເຄື່ອງຫຼືອາດຈະຖືກນໍາໃຊ້ດ້ວຍການເຮັດວຽກຂອງ srand.
ຮອບ ( arg )
ຖ້າ arg ແມ່ນເປັນຄ່າ integer, returns arg , ຖ້າບໍ່ດັ່ງນັ້ນຈະປ່ຽນແປງ arg ກັບ integer ໂດຍການເຮັດຮອບແລະສົ່ງຄືນມູນຄ່າທີ່ຖືກແປງ.
sin ( arg )
ກັບຄືນໄປຫາ sine ຂອງ arg , ການວັດແທກໃນ radians.
sinh ( arg )
ກັບຄືນຂອງ sine hyperbolic ຂອງ arg . ຖ້າຜົນໄດ້ຮັບຈະເຮັດໃຫ້ເກີດການໄຫຼ, ຂໍ້ຜິດພາດຈະຖືກສົ່ງຄືນ.
sqrt ( arg )
ຄືນຮາກຮາກຂອງ arg . Arg ຕ້ອງບໍ່ຖືກລົບກວນ.
srand ( arg )
arg , ເຊິ່ງຕ້ອງເປັນ integer, ຖືກນໍາໃຊ້ເພື່ອປັບແກ່ນສໍາລັບການຜະລິດຈໍານວນ Random. ກັບຄືນມາຈໍານວນ Random ທໍາອິດຈາກເມັດນັ້ນ. ແຕ່ລະນາຍແປພາສາມີແກ່ນຂອງຕົນເອງ.
tan ( arg )
ກັບຄືນຂອງ tangent ຂອງ arg , ການວັດແທກໃນ radians.
tanh ( arg )
ກັບຄືນຂອງ hyperbolic tangent ຂອງ arg .
ນອກເຫນືອໄປຈາກຫນ້າທີ່ກໍານົດໄວ້ກ່ອນຫນ້ານີ້, ຄໍາຮ້ອງສະຫມັກອາດກໍານົດຫນ້າທີ່ເພີ່ມເຕີມໂດຍໃຊ້ Tcl_CreateMathFunc ().
ປະເພດ, Overflow, ແລະຄວາມຖືກຕ້ອງ
ການຄໍານວນພາຍໃນທັງຫມົດທີ່ກ່ຽວຂ້ອງກັບຈໍານວນເຕັມແມ່ນເຮັດດ້ວຍ C ປະເພດ ຍາວ , ແລະການຄິດໄລ່ພາຍໃນທັງຫມົດທີ່ກ່ຽວຂ້ອງກັບຈຸດທີ່ເລື່ອນໄດ້ແມ່ນເຮັດດ້ວຍ C ປະເພດ ສອງ . ໃນເວລາທີ່ການປ່ຽນຊ່ອຍແນ່ກັບຈຸດທີ່ເລື່ອນໄດ້, ການລົງທຶນຂອງນັກລົງທຶນໄດ້ຖືກກວດພົບແລະຜົນໃນການຜິດພາດ Tcl. ສໍາລັບການປ່ຽນແປງເປັນຈໍານວນເຕັມຈາກຊ່ອຍແນ່, ການກວດສອບການໄຫຼເຂົ້າແມ່ນຂຶ້ນຢູ່ກັບພຶດຕິກໍາຂອງບາງປະຕິບັດໃນຫ້ອງສະຫມຸດ C ທ້ອງຖິ່ນ, ດັ່ງນັ້ນມັນຄວນຈະຖືວ່າເປັນບໍ່ຫນ້າເຊື່ອຖື. ໃນກໍລະນີໃດກໍ່ຕາມ, ການໄຫຼຂອງຈໍານວນເຕັມແລະການໄຫຼເຂົ້າຂອງໂດຍທົ່ວໄປໂດຍທົ່ວໄປບໍ່ໄດ້ຖືກກວດພົບວ່າມີຄວາມເຊື່ອຖືສໍາລັບຜົນໄດ້ຮັບລະດັບກາງ. Overflow, floating point point and underflow are detected to the degree supported by the hardware, which is generally reliable.
ການປ່ຽນແປງລະຫວ່າງຕົວແທນພາຍໃນສໍາລັບຕົວແປ integer, floating-point, ແລະ string ຈະເຮັດໂດຍອັດຕະໂນມັດຕາມຄວາມຕ້ອງການ. ສໍາລັບການຄໍານວນເລກຄະນິດສາດ, ຈໍານວນເຕັມຖືກນໍາໃຊ້ຈົນກ່ວາຈໍານວນທີ່ລະດັບຈຸດທີ່ຖືກນໍາສະເຫນີ, ຫຼັງຈາກທີ່ຈຸດລອຍໄດ້ຖືກນໍາໃຊ້. ຍົກຕົວຢ່າງ,
expr 5/4ກັບຄືນ 1, ໃນຂະນະທີ່
expr 5 / 4.0 expr 5 / ([string length "abcd"] + 00)ທັງສອງຄືນ 1.25. ຄ່າທີ່ floating-point ແມ່ນຖືກສົ່ງຄືນກັບ `` . '' ຫຼື e ເພື່ອວ່າພວກເຂົາຈະບໍ່ມີລັກສະນະຄືຄ່າຕົວຈິງ. ຍົກຕົວຢ່າງ,
expr 200/50ຄືນ 40 , ບໍ່ແມ່ນ 4 .
String Operations
ຄ່າຕົວອັກສອນອາດຈະຖືກນໍາໃຊ້ເປັນ operands ຂອງຜູ້ປະກອບການປຽບທຽບ, ເຖິງແມ່ນວ່າການປະເມີນຜົນກະຕຸ້ນພະຍາຍາມເຮັດການປຽບທຽບເປັນເລກເຕັມຫຼືຈຸດທີ່ມັນສາມາດເຮັດໄດ້. ຖ້າຫນຶ່ງຂອງປະຕິກິລິຍາຂອງການປຽບທຽບແມ່ນສາຍແລະອື່ນໆທີ່ມີຄ່າຕົວເລກ, ຕົວເລກຕົວເລກຈະຖືກປ່ຽນເປັນຊ່ອຍແນ່ໂດຍໃຊ້ຕົວກໍານົດການ C sprintf format % d ສໍາລັບ integers ແລະ % g ສໍາລັບຄ່າ floating point. ຕົວຢ່າງ, ຄໍາສັ່ງ
expr {"0x03"> "2"} expr {"0y" <"0x12"}ທັງສອງຄືນ 1 ການປຽບທຽບທໍາອິດແມ່ນເຮັດໂດຍໃຊ້ການປຽບທຽບຈໍານວນເຕັມແລະທີສອງແມ່ນເຮັດໂດຍການໃຊ້ການປຽບທຽບລະບົບຫຼັງຈາກ operand ທີສອງຖືກແປງເປັນສາຍ 18 . ເນື່ອງຈາກວ່າແນວໂນ້ມຂອງ Tcl ທີ່ຈະປະຕິບັດຕາມຄ່າທີ່ເປັນຈໍານວນເທົ່າໃດກໍ່ຕາມ, ມັນບໍ່ແມ່ນຄວາມຄິດທີ່ດີທີ່ຈະໃຊ້ຕົວປະຕິບັດງານເຊັ່ນ == ເມື່ອທ່ານຕ້ອງການການປຽບທຽບຊ່ອຍແນ່ແລະຄ່າຂອງຕົວປະຕິບັດທີ່ອາດຈະເປັນທາງເລືອກ; ມັນດີກວ່າໃນກໍລະນີນີ້ເພື່ອໃຊ້ຄໍາສັ່ງ ຊ່ອຍແນ່ ແທນ.
ການພິຈາລະນາການປະຕິບັດ
ສະແດງຄໍານິຍາມໃນຂວດເພື່ອຄວາມໄວທີ່ດີທີ່ສຸດແລະຄວາມຕ້ອງການການເກັບຮັກສາຂະຫນາດນ້ອຍທີ່ສຸດ. ນີ້ອະນຸຍາດໃຫ້ Tcl bytecode compiler ເພື່ອສ້າງລະຫັດທີ່ດີທີ່ສຸດ.
ດັ່ງທີ່ກ່າວມາຂ້າງເທິງ, ການສະແດງອອກຈະຖືກແທນທີ່ສອງຄັ້ງ: ຄັ້ງດຽວໂດຍຕົວກໍານົດການ Tcl ແລະຄັ້ງດຽວໂດຍຄໍາສັ່ງ expr . ຕົວຢ່າງ, ຄໍາສັ່ງ
ຕັ້ງຄ່າ 3 set b {$ a + 2} expr $ b * 4return 11, not a multiple of 4 This is because the parser Tcl first substitutes $ a + 2 for the variable b , then expr command will evaluate the expression $ a + 2 * 4
ການສະແດງອອກຫຼາຍທີ່ສຸດບໍ່ຈໍາເປັນຕ້ອງມີການປ່ຽນແທນຄັ້ງທີສອງ. ເຖິງແມ່ນວ່າພວກເຂົາແມ່ນຢູ່ໃນຂີ້ມູກຫຼື, ຖ້າບໍ່ດັ່ງນັ້ນ, ຕົວປ່ຽນແປງຕົວແປແລະຄໍາສັ່ງຂອງພວກເຂົາຈະໃຫ້ຈໍານວນຫຼືສາຍທີ່ບໍ່ຕ້ອງການແທນ. ຢ່າງໃດກໍຕາມ, ເນື່ອງຈາກວ່າການສະແດງອອກແບບບໍ່ຖືກຕ້ອງຈໍານວນສອງຕ້ອງມີການປ່ຽນແທນສອງຮອບ, compiler bytecode ຕ້ອງອອກຄໍາແນະນໍາເພີ່ມເຕີມເພື່ອຈັດການກັບສະຖານະການນີ້. ລະຫັດທີ່ແພງຫຼາຍທີ່ສຸດແມ່ນຈໍາເປັນສໍາລັບການສະແດງອອກທີ່ບໍ່ມີຄວາມຫມາຍທີ່ມີການປ່ຽນແທນຄໍາສັ່ງ. ການສະແດງອອກເຫຼົ່ານີ້ຕ້ອງໄດ້ຮັບການປະຕິບັດໂດຍການສ້າງລະຫັດໃຫມ່ໃນແຕ່ລະຄັ້ງທີ່ການສະແດງຜົນຖືກປະຕິບັດ.
ຄໍາສໍາຄັນ
ຄະນິດສາດ, boolean , ປຽບທຽບ, ການສະແດງ, ການປຽບທຽບ fuzzy
ສິ່ງສໍາຄັນ: ໃຊ້ຄໍາສັ່ງ man ( % man ) ເພື່ອເບິ່ງວິທີການໃຊ້ຄໍາສັ່ງໃນຄອມພິວເຕີຂອງທ່ານ.