v2 / vlib / v / fmt / tests / string_interpolation_input.vv
32 lines · 27 sloc · 593 bytes · 8b13f3b53f064188eef4bf07be505cd7acb4a7f0
Raw
1struct Aa {
2 xy int
3}
4
5struct Bb {
6 a Aa
7}
8
9struct Cc {
10 a []Aa
11}
12
13fn (c &Cc) f() int {
14 return c.a[0].xy
15}
16
17fn (c &Cc) g(k int, l int) int {
18 return c.a[k].xy+l
19}
20
21fn main() {
22 st := Bb{Aa{5}}
23 ar := Cc{[Aa{3}, Aa{-4}, Aa{12}]}
24 aa := Aa{-13}
25 z := -14.75
26 println('${st.a.xy} ${ar.a[2].xy} ${aa.xy} ${z}')
27 println('${st.a.xy}${ar.a[2].xy}${aa.xy}${z}')
28 println('${st.a.xy}ya ${ar.a[2].xy}X2 ${aa.xy}.b ${z}3')
29 println('${z:-5} ${z:+5.3} ${z:+09.3f} ${z:-07.2} ${z:+009} ${z:008.3f}')
30 println('${ar.f()} ${ar.g(1, 2)} ${ar.a}() ${z}(')
31 println('${z > 12.3 * z - 3} ${@VEXE} ${4 * 5}')
32}
33