Ada:你能把数组元素转换成枚举吗?
Ada: Can you convert array elements into an enum?
我希望能够从任何文本文件中读取任意数量的行,然后将每一行存储到一个数组中,然后将这些数组元素中的每一个都变成一个枚举类型。我能够在读取文件之前获取 array/enum 的大小,然后我可以填充数组,唯一的问题是能够在填充之前指定枚举类型中的元素数量。有没有办法做到这一点?还是其他一些聪明的方法?
您不能在 Ada 中创建类型 on-the-fly,所以简短的回答是 "no"。
但是(一如既往)有一个技巧:您可以从主程序为包编写 Ada 源文件,在主程序中根据输入数据声明一个内部枚举类型。然后你就可以把这些源文件编译成一个动态库,把这个库加载到主程序中on-the-fly,然后调用你刚才写的包的操作
我希望能够从任何文本文件中读取任意数量的行,然后将每一行存储到一个数组中,然后将这些数组元素中的每一个都变成一个枚举类型。我能够在读取文件之前获取 array/enum 的大小,然后我可以填充数组,唯一的问题是能够在填充之前指定枚举类型中的元素数量。有没有办法做到这一点?还是其他一些聪明的方法?
您不能在 Ada 中创建类型 on-the-fly,所以简短的回答是 "no"。
但是(一如既往)有一个技巧:您可以从主程序为包编写 Ada 源文件,在主程序中根据输入数据声明一个内部枚举类型。然后你就可以把这些源文件编译成一个动态库,把这个库加载到主程序中on-the-fly,然后调用你刚才写的包的操作