mirror of
https://github.com/johnkerl/miller.git
synced 2026-07-21 02:23:20 +00:00
for-full-oosvar semantics
This commit is contained in:
parent
3c488a3cc4
commit
2abf90eca7
6 changed files with 239 additions and 110 deletions
|
|
@ -631,14 +631,22 @@ static mlhmmv_value_t mlhmmv_copy_aux(mlhmmv_value_t* pvalue) {
|
|||
// ----------------------------------------------------------------
|
||||
mlhmmv_value_t mlhmmv_copy_submap(mlhmmv_t* pmap, sllmv_t* pmvkeys) {
|
||||
int error;
|
||||
mlhmmv_level_entry_t* pfromentry = mlhmmv_get_entry_at_level(pmap->proot_level, pmvkeys->phead, &error);
|
||||
if (pfromentry != NULL) {
|
||||
return mlhmmv_copy_aux(&pfromentry->level_value);
|
||||
} else {
|
||||
return (mlhmmv_value_t) {
|
||||
if (pmvkeys->length == 0) {
|
||||
mlhmmv_value_t root_value = (mlhmmv_value_t) {
|
||||
.is_terminal = FALSE,
|
||||
.u.pnext_level = NULL,
|
||||
.u.pnext_level = pmap->proot_level,
|
||||
};
|
||||
return mlhmmv_copy_aux(&root_value);
|
||||
} else {
|
||||
mlhmmv_level_entry_t* pfromentry = mlhmmv_get_entry_at_level(pmap->proot_level, pmvkeys->phead, &error);
|
||||
if (pfromentry != NULL) {
|
||||
return mlhmmv_copy_aux(&pfromentry->level_value);
|
||||
} else {
|
||||
return (mlhmmv_value_t) {
|
||||
.is_terminal = FALSE,
|
||||
.u.pnext_level = NULL,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
164
c/output/out-dev
164
c/output/out-dev
|
|
@ -72,7 +72,7 @@ list (statement_list):
|
|||
z (field_name).
|
||||
4 (strnum_literal).
|
||||
|
||||
mlr --from ./reg_test/input/abixy put -q -v @a=2; @b["y"]=3; @c["y"][$a]=4; emitp all
|
||||
mlr --from reg_test/input/abixy put -q -v @a=2; @b["y"]=3; @c["y"][$a]=4; emitp all
|
||||
AST ROOT:
|
||||
list (statement_list):
|
||||
= (oosvar_assignment):
|
||||
|
|
@ -123,7 +123,7 @@ a=2
|
|||
b:y=3
|
||||
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4,c:y:hat=4
|
||||
|
||||
mlr --from ./reg_test/input/abixy put -q -v @a=2; @b["y"]=3; @c["y"][$a]=4; emitp all
|
||||
mlr --from reg_test/input/abixy put -q -v @a=2; @b["y"]=3; @c["y"][$a]=4; emitp all
|
||||
AST ROOT:
|
||||
list (statement_list):
|
||||
= (oosvar_assignment):
|
||||
|
|
@ -174,7 +174,7 @@ a=2
|
|||
b:y=3
|
||||
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4,c:y:hat=4
|
||||
|
||||
mlr --from ./reg_test/input/abixy put -q -v @["a"]=2; @["b"]["y"]=3; @["c"]["y"][$a]=4; emitp all
|
||||
mlr --from reg_test/input/abixy put -q -v @["a"]=2; @["b"]["y"]=3; @["c"]["y"][$a]=4; emitp all
|
||||
AST ROOT:
|
||||
list (statement_list):
|
||||
= (oosvar_assignment):
|
||||
|
|
@ -225,7 +225,7 @@ a=2
|
|||
b:y=3
|
||||
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4,c:y:hat=4
|
||||
|
||||
mlr put -v @s = NR; $t = typeof(@s); $u= typeof(@["s"]); emitp all ./reg_test/input/abixy
|
||||
mlr put -v @s = NR; $t = typeof(@s); $u= typeof(@["s"]); emitp all reg_test/input/abixy
|
||||
AST ROOT:
|
||||
list (statement_list):
|
||||
= (oosvar_assignment):
|
||||
|
|
@ -265,7 +265,7 @@ a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,t=MT_INT,u=MT_INT
|
|||
s=10
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,t=MT_INT,u=MT_INT
|
||||
|
||||
mlr --opprint put -v @s = NR; $t = @s; $u=@["s"] ./reg_test/input/abixy
|
||||
mlr --opprint put -v @s = NR; $t = @s; $u=@["s"] reg_test/input/abixy
|
||||
AST ROOT:
|
||||
list (statement_list):
|
||||
= (oosvar_assignment):
|
||||
|
|
@ -292,7 +292,7 @@ zee wye 8 0.5985540091064224 0.976181385699006 8 8
|
|||
hat wye 9 0.03144187646093577 0.7495507603507059 9 9
|
||||
pan wye 10 0.5026260055412137 0.9526183602969864 10 10
|
||||
|
||||
mlr put -v @t["u"] = NR; $tu = @["t"]["u"]; emitp all ./reg_test/input/abixy
|
||||
mlr put -v @t["u"] = NR; $tu = @["t"]["u"]; emitp all reg_test/input/abixy
|
||||
AST ROOT:
|
||||
list (statement_list):
|
||||
= (oosvar_assignment):
|
||||
|
|
@ -328,7 +328,7 @@ a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,tu=9
|
|||
t:u=10
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,tu=10
|
||||
|
||||
mlr put -v @["t"]["u"] = $y; emitp all ./reg_test/input/abixy
|
||||
mlr put -v @["t"]["u"] = $y; emitp all reg_test/input/abixy
|
||||
AST ROOT:
|
||||
list (statement_list):
|
||||
= (oosvar_assignment):
|
||||
|
|
@ -359,7 +359,7 @@ a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
|
|||
t:u=0.952618
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
|
||||
|
||||
mlr --from ./reg_test/input/abixy put -v $sum = 0; for(k,v in $*) {if (k =~ "^[xy]$") {$sum += $[k]} }
|
||||
mlr --from reg_test/input/abixy put -v $sum = 0; for(k,v in $*) {if (k =~ "^[xy]$") {$sum += $[k]} }
|
||||
AST ROOT:
|
||||
list (statement_list):
|
||||
= (srec_assignment):
|
||||
|
|
@ -393,7 +393,7 @@ a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,sum=1.574735
|
|||
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,sum=0.780993
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,sum=1.455244
|
||||
|
||||
mlr --from ./reg_test/input/abixy -n put -v
|
||||
mlr --from reg_test/input/abixy -n put -v
|
||||
$a = @s;
|
||||
$b = @t[1];
|
||||
$c = @u[1][2];
|
||||
|
|
@ -468,59 +468,103 @@ list (statement_list):
|
|||
unset (unset):
|
||||
@* (full_oosvar).
|
||||
|
||||
mlr -n put -v for(k,v in $*) {}
|
||||
AST ROOT:
|
||||
list (statement_list):
|
||||
for (for_srec):
|
||||
variables (for_variables):
|
||||
k (non_sigil_name).
|
||||
v (non_sigil_name).
|
||||
list (statement_list):
|
||||
|
||||
mlr -n put -v for(k1,v in @*) {}
|
||||
AST ROOT:
|
||||
list (statement_list):
|
||||
for (for_oosvar):
|
||||
key_and_value_variables (for_variables):
|
||||
key_variables (for_variables):
|
||||
k1 (non_sigil_name).
|
||||
v (non_sigil_name).
|
||||
empty_keylist (oosvar_keylist):
|
||||
list (statement_list):
|
||||
================================================================
|
||||
FOR-OOSVAR DEPTH TESTS
|
||||
|
||||
mlr -n put -v for((k1),v in @*) {}
|
||||
AST ROOT:
|
||||
list (statement_list):
|
||||
for (for_oosvar):
|
||||
key_and_value_variables (for_variables):
|
||||
key_variables (for_variables):
|
||||
k1 (non_sigil_name).
|
||||
v (non_sigil_name).
|
||||
empty_keylist (oosvar_keylist):
|
||||
list (statement_list):
|
||||
mlr --from reg_test/input/abixy put @o[1][2] = 7; for(k1,v in @*) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
|
||||
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
|
||||
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
|
||||
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
|
||||
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
|
||||
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
|
||||
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
|
||||
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
|
||||
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
|
||||
|
||||
mlr -n put -v for((k1,k2),v in @*) {}
|
||||
AST ROOT:
|
||||
list (statement_list):
|
||||
for (for_oosvar):
|
||||
key_and_value_variables (for_variables):
|
||||
key_variables (for_variables):
|
||||
k1 (non_sigil_name).
|
||||
k2 (non_sigil_name).
|
||||
v (non_sigil_name).
|
||||
empty_keylist (oosvar_keylist):
|
||||
list (statement_list):
|
||||
mlr --from reg_test/input/abixy put @o[1][2] = 7; for((k1),v in @*) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
|
||||
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
|
||||
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
|
||||
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
|
||||
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
|
||||
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
|
||||
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
|
||||
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
|
||||
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
|
||||
|
||||
mlr -n put -v for((k1,k2,k3),v in @*) {}
|
||||
AST ROOT:
|
||||
list (statement_list):
|
||||
for (for_oosvar):
|
||||
key_and_value_variables (for_variables):
|
||||
key_variables (for_variables):
|
||||
k1 (non_sigil_name).
|
||||
k2 (non_sigil_name).
|
||||
k3 (non_sigil_name).
|
||||
v (non_sigil_name).
|
||||
empty_keylist (oosvar_keylist):
|
||||
list (statement_list):
|
||||
mlr --from reg_test/input/abixy put @o[1][2] = 7; for((k1,k2),v in @*) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
|
||||
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
|
||||
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
|
||||
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
|
||||
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
|
||||
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
|
||||
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
|
||||
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
|
||||
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
|
||||
|
||||
mlr --from reg_test/input/abixy put @o[1][2] = 7; for((k1,k2,k3),v in @*) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
|
||||
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
|
||||
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
|
||||
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
|
||||
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
|
||||
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
|
||||
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
|
||||
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
|
||||
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
|
||||
|
||||
mlr --from reg_test/input/abixy put @o[1][2][3] = 7; for(k1,v in @o[1][2]) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=10.346790,y=100.726803
|
||||
a=eks,b=pan,i=2,x=10.758680,y=100.522151
|
||||
a=wye,b=wye,i=3,x=10.204603,y=100.338319
|
||||
a=eks,b=wye,i=4,x=10.381399,y=100.134189
|
||||
a=wye,b=pan,i=5,x=10.573289,y=100.863624
|
||||
a=zee,b=pan,i=6,x=10.527126,y=100.493221
|
||||
a=eks,b=zee,i=7,x=10.611784,y=100.187885
|
||||
a=zee,b=wye,i=8,x=10.598554,y=100.976181
|
||||
a=hat,b=wye,i=9,x=10.031442,y=100.749551
|
||||
a=pan,b=wye,i=10,x=10.502626,y=100.952618
|
||||
|
||||
mlr --from reg_test/input/abixy put @o[1][2][3] = 7; for((k1),v in @o[1][2]) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=10.346790,y=100.726803
|
||||
a=eks,b=pan,i=2,x=10.758680,y=100.522151
|
||||
a=wye,b=wye,i=3,x=10.204603,y=100.338319
|
||||
a=eks,b=wye,i=4,x=10.381399,y=100.134189
|
||||
a=wye,b=pan,i=5,x=10.573289,y=100.863624
|
||||
a=zee,b=pan,i=6,x=10.527126,y=100.493221
|
||||
a=eks,b=zee,i=7,x=10.611784,y=100.187885
|
||||
a=zee,b=wye,i=8,x=10.598554,y=100.976181
|
||||
a=hat,b=wye,i=9,x=10.031442,y=100.749551
|
||||
a=pan,b=wye,i=10,x=10.502626,y=100.952618
|
||||
|
||||
mlr --from reg_test/input/abixy put @o[1][2][3] = 7; for((k1,k2),v in @o[1][2]) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
|
||||
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
|
||||
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
|
||||
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
|
||||
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
|
||||
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
|
||||
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
|
||||
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
|
||||
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
|
||||
|
||||
mlr --from reg_test/input/abixy put @o[1][2][3] = 7; for((k1,k2,k3),v in @o[1][2]) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
|
||||
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
|
||||
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
|
||||
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
|
||||
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
|
||||
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
|
||||
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
|
||||
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
|
||||
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
|
||||
|
||||
|
|
|
|||
|
|
@ -118,48 +118,6 @@ run_mlr -n put -v 'emit @*'
|
|||
run_mlr -n put -v 'emitp @*'
|
||||
run_mlr -n put -v 'unset @*'
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
run_mlr -n put -v 'for(k,v in $*) {}'
|
||||
|
||||
# AST ROOT:
|
||||
# list (statement_list):
|
||||
# for (for_srec):
|
||||
# variables (for_variables):
|
||||
# k (non_sigil_name).
|
||||
# v (non_sigil_name).
|
||||
# list (statement_list):
|
||||
|
||||
run_mlr -n put -v 'for(k1,v in @*) {}'
|
||||
run_mlr -n put -v 'for((k1),v in @*) {}'
|
||||
run_mlr -n put -v 'for((k1,k2),v in @*) {}'
|
||||
run_mlr -n put -v 'for((k1,k2,k3),v in @*) {}'
|
||||
|
||||
# list (statement_list):
|
||||
# for (for_oosvar):
|
||||
# variables (for_variables):
|
||||
# k1 (non_sigil_name).
|
||||
# v (non_sigil_name).
|
||||
# list (statement_list):
|
||||
|
||||
# list (statement_list):
|
||||
# for (for_oosvar):
|
||||
# variables (for_variables):
|
||||
# variables (for_variables):
|
||||
# k1 (non_sigil_name).
|
||||
# k2 (non_sigil_name).
|
||||
# v (non_sigil_name).
|
||||
# list (statement_list):
|
||||
|
||||
# list (statement_list):
|
||||
# for (for_oosvar):
|
||||
# variables (for_variables):
|
||||
# variables (for_variables):
|
||||
# k1 (non_sigil_name).
|
||||
# k2 (non_sigil_name).
|
||||
# k3 (non_sigil_name).
|
||||
# v (non_sigil_name).
|
||||
# list (statement_list):
|
||||
|
||||
# ================================================================
|
||||
cat $outfile
|
||||
|
||||
|
|
|
|||
|
|
@ -15743,6 +15743,110 @@ zee wye 0.598554
|
|||
hat wye 0.031442
|
||||
|
||||
|
||||
================================================================
|
||||
FOR-OOSVAR DEPTH TESTS
|
||||
|
||||
|
||||
---------------------------------------------------------------- for full oosvar
|
||||
mlr --from ./reg_test/input/abixy put @o[1][2] = 7; for(k1,v in @*) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
|
||||
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
|
||||
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
|
||||
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
|
||||
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
|
||||
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
|
||||
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
|
||||
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
|
||||
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
|
||||
|
||||
mlr --from ./reg_test/input/abixy put @o[1][2] = 7; for((k1),v in @*) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
|
||||
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
|
||||
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
|
||||
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
|
||||
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
|
||||
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
|
||||
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
|
||||
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
|
||||
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
|
||||
|
||||
mlr --from ./reg_test/input/abixy put @o[1][2] = 7; for((k1,k2),v in @*) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
|
||||
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
|
||||
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
|
||||
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
|
||||
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
|
||||
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
|
||||
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
|
||||
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
|
||||
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
|
||||
|
||||
mlr --from ./reg_test/input/abixy put @o[1][2] = 7; for((k1,k2,k3),v in @*) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=10.346790,y=100.726803
|
||||
a=eks,b=pan,i=2,x=10.758680,y=100.522151
|
||||
a=wye,b=wye,i=3,x=10.204603,y=100.338319
|
||||
a=eks,b=wye,i=4,x=10.381399,y=100.134189
|
||||
a=wye,b=pan,i=5,x=10.573289,y=100.863624
|
||||
a=zee,b=pan,i=6,x=10.527126,y=100.493221
|
||||
a=eks,b=zee,i=7,x=10.611784,y=100.187885
|
||||
a=zee,b=wye,i=8,x=10.598554,y=100.976181
|
||||
a=hat,b=wye,i=9,x=10.031442,y=100.749551
|
||||
a=pan,b=wye,i=10,x=10.502626,y=100.952618
|
||||
|
||||
|
||||
---------------------------------------------------------------- for oosvar submap
|
||||
mlr --from ./reg_test/input/abixy put @o[1][2][3] = 7; for(k1,v in @o[1][2]) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=10.346790,y=100.726803
|
||||
a=eks,b=pan,i=2,x=10.758680,y=100.522151
|
||||
a=wye,b=wye,i=3,x=10.204603,y=100.338319
|
||||
a=eks,b=wye,i=4,x=10.381399,y=100.134189
|
||||
a=wye,b=pan,i=5,x=10.573289,y=100.863624
|
||||
a=zee,b=pan,i=6,x=10.527126,y=100.493221
|
||||
a=eks,b=zee,i=7,x=10.611784,y=100.187885
|
||||
a=zee,b=wye,i=8,x=10.598554,y=100.976181
|
||||
a=hat,b=wye,i=9,x=10.031442,y=100.749551
|
||||
a=pan,b=wye,i=10,x=10.502626,y=100.952618
|
||||
|
||||
mlr --from ./reg_test/input/abixy put @o[1][2][3] = 7; for((k1),v in @o[1][2]) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=10.346790,y=100.726803
|
||||
a=eks,b=pan,i=2,x=10.758680,y=100.522151
|
||||
a=wye,b=wye,i=3,x=10.204603,y=100.338319
|
||||
a=eks,b=wye,i=4,x=10.381399,y=100.134189
|
||||
a=wye,b=pan,i=5,x=10.573289,y=100.863624
|
||||
a=zee,b=pan,i=6,x=10.527126,y=100.493221
|
||||
a=eks,b=zee,i=7,x=10.611784,y=100.187885
|
||||
a=zee,b=wye,i=8,x=10.598554,y=100.976181
|
||||
a=hat,b=wye,i=9,x=10.031442,y=100.749551
|
||||
a=pan,b=wye,i=10,x=10.502626,y=100.952618
|
||||
|
||||
mlr --from ./reg_test/input/abixy put @o[1][2][3] = 7; for((k1,k2),v in @o[1][2]) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
|
||||
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
|
||||
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
|
||||
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
|
||||
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
|
||||
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
|
||||
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
|
||||
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
|
||||
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
|
||||
|
||||
mlr --from ./reg_test/input/abixy put @o[1][2][3] = 7; for((k1,k2,k3),v in @o[1][2]) {$x+=10;$y+=100}
|
||||
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
|
||||
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
|
||||
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
|
||||
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
|
||||
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
|
||||
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
|
||||
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
|
||||
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
|
||||
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
|
||||
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
|
||||
|
||||
|
||||
================================================================
|
||||
ABSENT/EMPTY
|
||||
|
||||
|
|
|
|||
|
|
@ -1666,6 +1666,21 @@ run_mlr --opprint --from $indir/abixy put -q '
|
|||
}
|
||||
'
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
announce FOR-OOSVAR DEPTH TESTS
|
||||
|
||||
mention 'for full oosvar'
|
||||
run_mlr --from $indir/abixy put '@o[1][2] = 7; for(k1,v in @*) {$x+=10;$y+=100}'
|
||||
run_mlr --from $indir/abixy put '@o[1][2] = 7; for((k1),v in @*) {$x+=10;$y+=100}'
|
||||
run_mlr --from $indir/abixy put '@o[1][2] = 7; for((k1,k2),v in @*) {$x+=10;$y+=100}'
|
||||
run_mlr --from $indir/abixy put '@o[1][2] = 7; for((k1,k2,k3),v in @*) {$x+=10;$y+=100}'
|
||||
|
||||
mention 'for oosvar submap'
|
||||
run_mlr --from $indir/abixy put '@o[1][2][3] = 7; for(k1,v in @o[1][2]) {$x+=10;$y+=100}'
|
||||
run_mlr --from $indir/abixy put '@o[1][2][3] = 7; for((k1),v in @o[1][2]) {$x+=10;$y+=100}'
|
||||
run_mlr --from $indir/abixy put '@o[1][2][3] = 7; for((k1,k2),v in @o[1][2]) {$x+=10;$y+=100}'
|
||||
run_mlr --from $indir/abixy put '@o[1][2][3] = 7; for((k1,k2,k3),v in @o[1][2]) {$x+=10;$y+=100}'
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
# xxx test nested control structures: double-for; if-inside-while; etc.
|
||||
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@ BUGFIXES
|
|||
================================================================
|
||||
TOP-OF-LIST SUMMARY
|
||||
|
||||
! for-oosrec
|
||||
- @* in what contexts? not as LHS of assignment. emit @* same as emit all; only in for-$* ?
|
||||
! for @* semantics
|
||||
! eliminate the need for semicolon after curly brace. for now, highlighted faqent.
|
||||
* chk UT x all
|
||||
* move/filter all reg_test/dev -> reg_test/run
|
||||
|
|
@ -67,6 +66,7 @@ HYGIENE:
|
|||
* fully recursive; recursivity of existing conds
|
||||
* pound-to-EOL commenting for filter & put
|
||||
! don't release 4.1 w/o implicit semicolon after closing curly brace
|
||||
* emit/unset @* same as emit/unset all
|
||||
* bugfix:
|
||||
~/pub_http_internet/miller-releases/miller-4.0.0/c/mlr put -v '@a[1][2]=$b;$new=@a[1][2]' ../data/small
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue