我正在使用一种称为 JS 的嵌入式语言进行编码。
我希望能够以任何顺序调用三个函数。(ABC、ACB、BAC、BCA、CBA、CAB。)
诀窍?该语言没有用户定义的函数。
它确实有条件和循环结构。
我想我有三个选择。
- 复制一大堆代码。
- 编写一个预处理器(这将创建所有重复的代码)。
- 执行一个包含三个迭代的循环,使用一个数组来控制每次循环调用哪个功能。
我讨厌#1。重复的代码很讨厌。如何在不搞砸的情况下改变任何东西?
我猜#2没问题。至少我在源代码中没有重复的代码。但是我的输出代码是我要调试的,我想知道我是否想偏离它。从好的方面来说,我可以在语言中添加一堆糖。
我认为我最好的选择是#3。
还有其他想法吗?没有转到。没有功能。没有现有的预处理器。
#3 的有趣之处在于它本质上是臭名昭著的 for/switch 噩梦。