将数据存储在二维数组中

将数据存储在二维数组中

我正在尝试在 TikZ 中绘制棋盘游戏围棋的图表。为了在后续变体中重复使用棋盘位置,我需要一种方法来存储当前棋盘位置。我从这个问题我的两个选项是使用\csname...\endcsnamepgfkeys。由于我正在使用 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

相关内容