キー参照子を利用することで、キーラベルの付いていないキーを参照することが可能です。
①キー参照子://i 特定のキーからi番目の妹
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Kf(_refer1){ Pe{ /*キーステーションが最初に実行するキーセット*/ N(_main); } } K(_main){ /* スタイル定義 については、 https://ki.kathenas.com/style/362/ */ Se{ @s1{~border{~width="1"; ~style="solid"; }} } U{ R(#row,"#row",@s1) R(@s1) R(@s1) Pe{ /* ①//i //iで#rowからi個妹のキーを参照 */ #row//1?="//1"; #row//2?="//2"; } } } |
実行結果
②キー参照子:\\i 特定のキーからi番目の姉
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Kf(_refer2){ Pe{ /*キーステーションが最初に実行するキーセット*/ N(_main); } } K(_main){ /* スタイル定義 については、 https://ki.kathenas.com/style/362/ */ Se{ @s1{~border{~width="1"; ~style="solid"; }} } U{ C{ R(@s1) R(@s1) R(#row,"#row",@s1) } Pe{ /* ②\\i \\iで#rowからi個姉のキーを参照 */ #row\\1?="\\\\1"; #row\\2?="\\\\2"; } } } |
実行結果
③ キー参照子:>>i 特定のキーからi番目の直系の子孫
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
Kf(_refer3){ Pe{ /*キーステーションが最初に実行するキーセット*/ N(_main); } } K(_main){ /* スタイル定義 については、 https://ki.kathenas.com/style/362/ */ Se{ @s1{~border{~width="1"; ~style="solid"; }} } U{ R(#row){ R(@s1){ R(@s1) R(@s1) } R(@s1) R(@s1) } Pe{ /* ③>>i >>iで#rowからi個ネストした、長子のキーを参照 */ #row>>1?=">>1"; #row>>2?=">>2"; } } } |
実行結果
④キー参照子:<<i 特定のキーからi番目の先祖
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
Kf(_refer4){ Pe{ /*キーステーションが最初に実行するキーセット*/ N(_main); } } K(_main){ /* スタイル定義 については、 https://ki.kathenas.com/style/362/ */ Se{ @s1{~border{~width="1"; ~style="solid"; }} } U{ R{ R(@s1){ R(#row,@s1) R(@s1) } R(@s1) R(@s1) } Pe{ /* ④<<i <<iで#rowからi個親のキーを参照 */ #row<<1?="<<1"; #row<<2?="<<2"; } } } |
実行結果
⑤キー参照子:[(int)i] 特定のキーからi+1番目の子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Kf(_refer5){ Pe{ /*キーステーションが最初に実行するキーセット*/ N(_main); } } K(_main){ /* スタイル定義 については、 https://ki.kathenas.com/style/362/ */ Se{ @s1{~border{~width="1"; ~style="solid"; }} } U{ R(#row){ R(@s1){ R(@s1) R(@s1) } R(@s1) R(@s1) } Pe{ /* ⑤[(int)i] [i]でi+1番目の子を参照 */ #row[0]?="[0]"; #row[1]?="[1]"; #row[2]?="[2]"; } } } |
実行結果
⑥キー参照子:[(str)s] sをキー値として持つ子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Kf(_refer6){ Pe{ /*キーステーションが最初に実行するキーセット*/ N(_main); } } K(_main){ /* スタイル定義 については、 https://ki.kathenas.com/style/362/ */ Se{ @s1{~border{~width="1"; ~style="solid"; }} } U{ R(#row){ R(@s1,"valA"){ R(@s1) R(@s1) } R(@s1,"valB") R(@s1,"valC") } Pe{ /* ⑥[(str)s] sをキー値として持つ子を参照 */ #row["valC"]?="valCを持つ子"; } } } |
実行結果