OILS / _devbuild / help / ysh-expr-lang View on Github | oilshell.org

43 lines, 42 significant
1Expression Language and Assignments
2
3 [Assign Ops] = += -= *= /= **= //= %=
4 &= |= ^= <<= >>=
5 [Literals] bool-literal true false null
6 int-literal 42 65_536 0xFF 0o755 0b10
7 float-lit 3.14 1.5e-10
8 X num-suffix 42 K Ki M Mi G Gi T Ti / ms us
9 rune-literal #'a' #'_' \n \\ \u{3bc}
10 ysh-string "$x" r'[a-z]\n' u'line\n' b'byte \yff'
11 triple-quoted """ r''' u''' b'''
12 str-template ^"$a and $b" for Str::replace()
13 list-literal ['one', 'two', 3] :| unquoted words |
14 dict-literal {name: 'bob'}
15 range 1 .. n+1
16 block-literal ^(echo $PWD)
17 expr-lit ^[1 + 2*3]
18 X to-string $[myobj]
19 X to-array @[myobj]
20 [Operators] concat s1 ++ s2, L1 ++ L2
21 ysh-equals === !== ~== is, is not, in, not in
22 ysh-compare < <= > >= (numbers only)
23 ysh-logical not and or
24 ysh-arith + - * / // % **
25 ysh-bitwise ~ & | ^ << >>
26 ysh-ternary '+' if x >= 0 else '-'
27 ysh-index a[3] s[3]
28 ysh-attr mydict.key
29 ysh-slice a[1:-1] s[1:-1]
30 func-call f(x, y)
31 thin-arrow mylist->pop()
32 fat-arrow mystr => startsWith('prefix')
33 match-ops ~ !~ ~~ !~~
34 [Eggex] re-literal / d+ ; re-flags ; ERE /
35 re-primitive %zero 'sq'
36 class-literal [c a-z 'abc' @str_var \\ \xFF \u0100]
37 named-class dot digit space word d s w
38 re-repeat d? d* d+ d{3} d{2,4}
39 re-compound seq1 seq2 alt1|alt2 (expr1 expr2)
40 re-capture <capture d+ as name: int>
41 re-splice Subpattern @subpattern
42 re-flags reg_icase reg_newline
43 X re-multiline ///