我最近在使用 Game Maker Language。作为一名 Fortran/C/C++ 程序员,我惊讶地发现那里的变量似乎“知道”它们的类型,并且这些信息可以在运行时以非常简单的方式在某种程度上使用。我不想深入研究 GML 的细节,所以我想稍微抽象一下这个问题:
是否存在类型信息表现为(可能是 const)字符串或枚举的语言,例如使以下操作(我将使用 C 风格,但当然细节无关紧要)成为可能,如果是,名称是什么那个语言功能?
假设我们已经声明了一个变量my_var
、一个被调用的超类foo
和一个子类bar
:
printf("The name of this type is %s\n", foo);
if(my_var == foo) printf("This variable holds %s\n", foo);
printf("%s superclass is %s\n", bar, bar.superclass);