1 #### Splice in array
2 shopt -s oil:basic
3 var a = %(one two three)
4 argv.py @a
5 ## STDOUT:
6 ['one', 'two', 'three']
7 ## END
8
9 #### Splice in assoc array
10 shopt -s oil:basic
11 declare -A A=(['foo']=bar, ['spam']=eggs)
12 write -- @A | sort
13 ## STDOUT:
14 foo
15 spam
16 ## END
17
18 #### Can't splice string
19 shopt -s oil:basic
20 var mystr = 'abc'
21 argv.py @mystr
22 ## status: 1
23 ## stdout-json: ""
24
25 #### Can't splice undefined
26 shopt -s oil:basic
27 argv.py @undefined
28 echo done
29 ## status: 1
30 ## stdout-json: ""
31
32 #### echo $f(x) for various types
33 shopt -s oil:basic
34
35 echo bool $identity(true)
36 echo int $len(['a', 'b'])
37 echo float $abs(-3.14)
38 echo str $identity('identity')
39
40 echo ---
41 echo bool expr $[true]
42 echo bool splice @identity([true])
43
44 ## STDOUT:
45 bool true
46 int 2
47 float 3.14
48 str identity
49 ---
50 bool expr true
51 bool splice true
52 ## END
53
54 #### echo $x for various types
55 const mybool = true
56 const myint = 42
57 const myfloat = 3.14
58
59 echo $mybool
60 echo $myint
61 echo $myfloat
62
63 ## STDOUT:
64 true
65 42
66 3.14
67 ## END