--- parser3/tests/430.html 2024/10/02 02:45:35 1.1 +++ parser3/tests/430.html 2024/10/18 01:32:50 1.4 @@ -13,12 +13,13 @@ 0.5 ^try-catch{ $a.-5[bug] } 0.6 ^a.count[] vs ^a.count[all] ^a._count[all] +0.7 ^try-catch{ ^a.count[bug] } 1. create, add vs join -1.1 создаем "дырявый" массив $a[^array::create[ $.2[1] $.5[2] $.9[3] ]] -1.2 из него дырявый массив: ^show[^array::create[$a]] +1.1 создаем "дырявый" массив $a[^array::copy[ $.2[1] $.5[2] $.9[3] ]] +1.2 из него дырявый массив: ^show[^array::copy[$a]] 1.3 из него обычный массив: $b[^array::create[]] ^b.join[$a] ^show[$b] 1.4 если параметр хеш, перезапись значений при add: ^b.add[ $.2[over] ] ^show[$b] @@ -26,13 +27,13 @@ 1.6 ^try-catch{ ^a.add[$a] } -$b[^array::create[ $.2[over2] $.4[over4] ]] -$c[^array::create[$a]] +$b[^array::copy[ $.2[over2] $.4[over4] ]] +$c[^array::copy[$a]] 1.6 если параметр массив, перезапись значений при add: ^show[$a] ^a.add[$b] ^show[$a] 1.7 если параметр массив, добевление значений при join: ^show[$c] ^c.join[$b] ^show[$c] 2. left, right, mid, for, foreach, select -$a[^array::create[ $.1[v1] $.5[v5] $.6[v6] $.8[v8] ]] +$a[^array::copy[ $.1[v1] $.5[v5] $.6[v6] $.8[v8] ]] 2.1 ^show[^a.left(2)] 2.2 ^show[^a.left(10)] @@ -45,6 +46,8 @@ $a[^array::create[ $.1[v1] $.5[v5] $.6[v 2.7 ^show[^a.mid(2)] 2.8 ^show[^a.mid(2;1)] 2.9 ^show[^a.mid(0;1)] +2.91 ^try-catch{ ^a.mid(-1;1) } +2.92 ^try-catch{ ^a.mid(1;-1) } 2.10 ^a.foreach[;v]{'$v'}[,] 2.11 ^a.foreach[k;]{'$k'}[,] @@ -63,20 +66,22 @@ $a[^array::create[ $.1[v1] $.5[v5] $.6[v 2.23 ^show[^a.select[k;v]($k>1)[ $.limit(2) ]] 2.24 ^show[^a.select[k;v]($k>1)[ $.limit(2) $.reverse(1) ]] 2.25 ^try-catch{ ^a.select[k;v]($k>1)[ $.bug(1) ] } +2.25 ^show[^a.select[k;v]($k<5 || ^break[])[ $.limit(2) ]] +2.26 ^show[^a.select[k;v]($k>5 || ^break[])[ $.limit(2) $.reverse(1) ]] 3. append/insert -$a[^array::create[ ]] +$a[^array::copy[ ]] 3.1 ^show[$a] -3.2 ^try-catch{ $b[^array::create[$method]] } +3.2 ^try-catch{ $b[^array::copy[$method]] } 3.3 ^try-catch{ $b[^array::insert(-1)[value]] } 3.4 ^try-catch{ $b[^array::insert[abc][value]] } 3.5 ^try-catch{ ^array::insert(100000000000000)[value] } -3.6 OK: $b[^array::append[$method]] $b[^array::new[$method]] +3.6 OK: $b[^array::append[$method]] $b[^array::create[$method]] 3.7 $a[a1;a2;a3;a4] $b[b1;b2] @@ -88,8 +93,8 @@ $a[^array::create[ ]] 3.8 ^a.insert(2)[d1;d2] ^show[$a] -3.9 ^try-catch{ $a[^array::create{}] } -3.10 ^try-catch{ $a[^array::create[not whitespace string]] } +3.9 ^try-catch{ $a[^array::copy{}] } +3.10 ^try-catch{ $a[^array::copy[not whitespace string]] } 3.11 ^a.join[ ] 3.12 ^try-catch{ ^a.join{}] } @@ -101,6 +106,9 @@ $f[^file::load[text;253_json.txt; $.char $s[^taint[as-is][$f.text]] 4.1. ^try-catch{ $o[^json:parse[$s][ $.array[x] ]] } + ^try-catch{ $o[^json:parse[$s][ $.array[$print] ]] } + ^try-catch{ $o[^json:parse[$s][ $.object[$print] ]] } + ^try-catch{ $o[^json:parse[$s][ $.bug[yes] ]] } $o[^json:parse[$s][ $.distinct[all] ]] @@ -118,6 +126,21 @@ $o.array.15[last] 4.7 ^try-catch{ ^print[^json:string[$o.array; $.array[bug] ]] } +4.8 ^try-catch{ ^print[^json:string[$o.array; $.void[bug] ]] } + +4.9 ^try-catch{ ^print[^json:string[$o.array; $._default[$print] ]] } + +$a[0;1;2] $a.5[5] + +4.10 ^json:string[$a; $.array[array] ] + +4.11 ^json:string[$a; $.array[array] $.indent(1) ] + +4.12 ^json:string[$a; $.array[array] $.indent[ ] ] + +4.13 ^json:string[^array::create[]] + +4.14 ^json:string[^array::create[]; $.array[array] ] @print[s]