| 1 | # Demonstrate Oil sigil pairs.
 | 
| 2 | #
 | 
| 3 | # Usage:
 | 
| 4 | #   bin/oil oil_lang/testdata/sigil-pairs.sh
 | 
| 5 | #
 | 
| 6 | # Summary:
 | 
| 7 | #   $() command sub
 | 
| 8 | #   %() string array
 | 
| 9 | #   $[] expr sub
 | 
| 10 | #
 | 
| 11 | # Also used:
 | 
| 12 | #   ${} for ${x %.3f} and ${x|html}
 | 
| 13 | #
 | 
| 14 | # Later:
 | 
| 15 | #   @{} table literals
 | 
| 16 | 
 | 
| 17 | # Helpers
 | 
| 18 | 
 | 
| 19 | argv() {
 | 
| 20 |   python -c 'import sys;print(sys.argv[1:])' @ARGV
 | 
| 21 | }
 | 
| 22 | 
 | 
| 23 | show() {
 | 
| 24 |   echo '====='
 | 
| 25 |   argv @ARGV
 | 
| 26 |   echo
 | 
| 27 | }
 | 
| 28 | 
 | 
| 29 | 
 | 
| 30 | var strarray = %(
 | 
| 31 |     bare words *.sh {a,b}@example.com 'sq' "dq ${x:-default}"
 | 
| 32 | )
 | 
| 33 | 
 | 
| 34 | show @strarray
 | 
| 35 | 
 | 
| 36 | var cmd_sub = $(
 | 
| 37 |     echo bare words *.sh {a,b}@example.com 'sq' "dq ${x:-default}"
 | 
| 38 | )
 | 
| 39 | 
 | 
| 40 | show $cmd_sub
 | 
| 41 | 
 | 
| 42 | show $['quoted ' ++ 'words ' ++ "dq ${x:-default}"]
 | 
| 43 | 
 |