![将数据存储在二维数组中](https://linux22.com/image/354106/%E5%B0%86%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E5%9C%A8%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E4%B8%AD.png)
我正在尝试在 TikZ 中绘制棋盘游戏围棋的图表。为了在后续变体中重复使用棋盘位置,我需要一种方法来存储当前棋盘位置。我从这个问题我的两个选项是使用\csname
...\endcsname
或pgfkeys
。由于我正在使用 pgfkeys 做其他事情,所以我的问题是:
如何使用 pgfkeys 实现二维数组?
如果您认为这是一个坏主意,我愿意接受不使用的解决方案pgfkeys
。但是我更愿意不使用expl3
,因为我的最终目标之一是兼容 Plain TeX、LaTeX 和 ConTeXt(就像 TikZ 一样)
答案1
尽管您偏好 pgfkeys,但我怀疑即使您出于其他原因加载了 pgf,但这还是有点过度了。
这使得日志
A1 is black and B14 is white
从纯文本
\def\setpos#1#2#3{\expandafter\def\csname GO-#1-#2-\endcsname{#3}}
\def\getpos#1#2{\csname GO-#1-#2-\endcsname}
\setpos{A}{1}{black}
\setpos{B}{14}{white}
\immediate\write20{A1 is \getpos{A}{1} and B14 is \getpos{B}{14}}
\bye