Closed kouamano closed 4 years ago
下の出力行で、"$##1[1]@@"の"@"(次期仕様では"%")が余分である、このノードにはデータバインドされない。
このノードは、配列指定[1]を持ちかつ子ノードを持たない、ので1個のデータ(この場合1)がバインドされて良いと思います。すなわち、
($##1[1],##1$##2(A[1]),##2$##3(B[1]),##3(C[1]))
において、各ノードのバインド値は
$##1[1] -> 1
A[1] -> 2
B[1] -> 3
C[1] -> 4
であるとすると、
$##1[1]@@##1$##2@##2$##3@##3(C[1]@(4))(B[1]@(3))(A[1]@(2))(1)
次期仕様では
$##1[1]%@##1$##2@##2$##3@##3(C[1]%(4))(B[1]%(3))(A[1]%(2))(1)
において、
「$##1[1]%の%は、直前のノード$##1[1]がバインド値を持つことを示し、その値が末尾の1である」
という解釈でよいと思います。 ただし、上例では問題ないですが、一般には 「@連鎖内の$##1[1]等各ノードが、後続のどのバインド値と対応するかが特定できるとは限らない」 という課題があります。これが問題かどうかは、@連鎖の意味づけにもよると思います。 (cf. issue73, 2020/5/7コメント by ksakam)
ただし、上例では問題ないですが、一般には
「@連鎖内の$##1[1]等各ノードが、後続のどのバインド値と対応するかが特定できるとは限らない」
@ksakam では、このissueは一旦closeしますか。
@ksakam では、このissueは一旦closeしますか。
はい、いったんcloseでよいと思います。
close。
下の出力行で、"$##1[1]@@"の"@"(次期仕様では"%")が余分である、このノードにはデータバインドされない。しかし、本当にその解釈で良いか、検討する。