3

当我开始涉足 LOLCODE 时,我开始想知道这个问题。LOLCODE 有 5 种数据类型,YARN(字符串)、TROOF(布尔)、NUMBR(整数)、NUMBAR(浮点数)和 NOOB(无类型)。但是,该语言的 1.2 版没有提供集合类型,这意味着没有数组、列表、字典或任何其他类型的内置集合。

为了挑战自己(也是为了 lulz),我决定将这个功能写成 LOLCODE 的一个包,用 LOLCODE 编写。这比我预期的更具挑战性,我想知道它是否可能用于任意大的动态大小的集合。

之前在 C 中编程过,我使用了两种方法来制作集合——动态大小的数组和带有指针的链表。但是,由于 LOLCODE 没有引用(指针)类型,因此无法使用这些技术中的任何一种,因为无法直接操作内存。机器级方法行不通。

在使用过一些函数式语言之后,我开始考虑集合的替代表示。理论上,集合可以由一个函数表示,该函数本质上类似于一个在插入和删除元素时动态修改的 switch 语句。但是,LOLCODE 也没有一流的功能,所以这似乎也是不可能的

我能想到的唯一方法是为大小为 n 的集合创建 n 个唯一变量 - 但是问题变成了双重的:“我如何为大小为 n 的集合创建 n 个唯一变量”和“当集合扩展到 n 个元素之外”?

TL;DR 我想在 LOLCODE v1.2 中实现数组,并且已经花了太多时间思考如何做到这一点并且已经没有想法了。我只是想知道是否有可能用一种没有将它作为内置语言的语言创建一个整数到任意类型的集合——也许是对解决方案的提示!

4

0 回答 0