diff options
Diffstat (limited to 'doc_src/switch.txt')
-rw-r--r-- | doc_src/switch.txt | 36 |
1 files changed, 13 insertions, 23 deletions
diff --git a/doc_src/switch.txt b/doc_src/switch.txt index 7b9b0308..9bba2bb0 100644 --- a/doc_src/switch.txt +++ b/doc_src/switch.txt @@ -1,35 +1,26 @@ \section switch switch - conditionally execute a block of commands \subsection switch-synopsis Synopsis -<tt>switch VALUE; [case [WILDCARD...]; [COMMANDS...]; ...] end</tt> +\fish{synopsis} +switch VALUE; [case [WILDCARD...]; [COMMANDS...]; ...] end +\endfish \subsection switch-description Description -\c switch performs one of several blocks of commands, depending on whether -a specified value equals one of several wildcarded values. \c case is used -together with the \c switch statement in order to determine which block should -be executed. +`switch` performs one of several blocks of commands, depending on whether a specified value equals one of several wildcarded values. `case` is used together with the `switch` statement in order to determine which block should be executed. -Each \c case command is given one or more parameters. The first \c case -command with a parameter that matches the string specified in the -switch command will be evaluated. \c case parameters may contain -wildcards. These need to be escaped or quoted in order to avoid -regular wildcard expansion using filenames. +Each `case` command is given one or more parameters. The first `case` command with a parameter that matches the string specified in the switch command will be evaluated. `case` parameters may contain wildcards. These need to be escaped or quoted in order to avoid regular wildcard expansion using filenames. -Note that fish does not fall through on case statements. Only the -first matching case is executed. +Note that fish does not fall through on case statements. Only the first matching case is executed. + +Note that command substitutions in a case statement will be evaluated even if its body is not taken. All substitutions, including command substitutions, must be performed before the value can be compared against the parameter. -Note that command substitutions in a case statement will be -evaluated even if its body is not taken. All substitutions, including -command substitutions, must be performed before the value can be compared -against the parameter. \subsection switch-example Example -If the variable \$animal contains the name of an animal, the following -code would attempt to classify it: +If the variable \$animal contains the name of an animal, the following code would attempt to classify it: -<pre> +\fish switch $animal case cat echo evil @@ -42,8 +33,7 @@ switch $animal case '*' echo I have no idea what a $animal is end -</pre> - -If the above code was run with \c \$animal set to \c whale, the output -would be \c mammal. +\endfish +If the above code was run with `$animal` set to `whale`, the output +would be `mammal`. |