if.n
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:2k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1993 The Regents of the University of California.
  3. '" Copyright (c) 1994-1996 Sun Microsystems, Inc.
  4. '"
  5. '" See the file "license.terms" for information on usage and redistribution
  6. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  7. '" 
  8. '" RCS: @(#) $Id: if.n,v 1.3.18.1 2004/10/27 12:52:40 dkf Exp $
  9. '" 
  10. .so man.macros
  11. .TH if n "" Tcl "Tcl Built-In Commands"
  12. .BS
  13. '" Note:  do not modify the .SH NAME line immediately below!
  14. .SH NAME
  15. if - Execute scripts conditionally
  16. .SH SYNOPSIS
  17. fBif fIexpr1 fR?fBthenfR? fIbody1 fBelseif fIexpr2 fR?fBthenfR? fIbody2fR fBelseiffR ... ?fBelsefR? ?fIbodyNfR?
  18. .BE
  19. .SH DESCRIPTION
  20. .PP
  21. The fIiffR command evaluates fIexpr1fR as an expression (in the
  22. same way that fBexprfR evaluates its argument).  The value of the
  23. expression must be a boolean
  24. (a numeric value, where 0 is false and
  25. anything is true, or a string value such as fBtruefR or fByesfR
  26. for true and fBfalsefR or fBnofR for false);
  27. if it is true then fIbody1fR is executed by passing it to the
  28. Tcl interpreter.
  29. Otherwise fIexpr2fR is evaluated as an expression and if it is true
  30. then fBbody2fR is executed, and so on.
  31. If none of the expressions evaluates to true then fIbodyNfR is
  32. executed.
  33. The fBthenfR and fBelsefR arguments are optional
  34. ``noise words'' to make the command easier to read.
  35. There may be any number of fBelseiffR clauses, including zero.
  36. fIBodyNfR may also be omitted as long as fBelsefR is omitted too.
  37. The return value from the command is the result of the body script
  38. that was executed, or an empty string
  39. if none of the expressions was non-zero and there was no fIbodyNfR.
  40. .SH EXAMPLES
  41. A simple conditional:
  42. .CS
  43. fBiffR {$vbl == 1} { puts "vbl is one" }
  44. .CE
  45. .PP
  46. With an fBelsefR-clause:
  47. .CS
  48. fBiffR {$vbl == 1} {
  49.    puts "vbl is one"
  50. } fBelsefR {
  51.    puts "vbl is not one"
  52. }
  53. .CE
  54. .PP
  55. With an fBelseiffR-clause too:
  56. .CS
  57. fBiffR {$vbl == 1} {
  58.    puts "vbl is one"
  59. } fBelseiffR {$vbl == 2} {
  60.    puts "vbl is two"
  61. } fBelsefR {
  62.    puts "vbl is not one or two"
  63. }
  64. .CE
  65. .PP
  66. Remember, expressions can be multi-line, but in that case it can be a
  67. good idea to use the optional fBthenfR keyword for clarity:
  68. .CS
  69. fBiffR {
  70.    $vbl == 1 || $vbl == 2 || $vbl == 3
  71. } fBthenfR {
  72.    puts "vbl is one, two or three"
  73. }
  74. .CE
  75. .SH "SEE ALSO"
  76. expr(n), for(n), foreach(n)
  77. .SH KEYWORDS
  78. boolean, conditional, else, false, if, true