たとえば、Ada では次のようになります (これをサポートする場合):
type Type_Name is range bottom .. top;
ここで、「下」と「上」は変数です。
またはCで次のようなもの(これをサポートする場合):
struct s {
int a;
if (z<3) {
char b;
int c;
} else {
struct ss {
int b;
char c;
}
}
} v;
または、 c が宣言の変数識別子の後に型を持つ場合:
var if (z<3) int else char;
またはそのようなもの。
これはただの好奇心からです。役に立つかどうかもわかりませんs.ss.b
し、使用する前にそのようなものが存在するかどうかを確認する必要があるなど、多くの問題が発生することもわかっています。
ああ、おそらくタイトルからの質問を言い換える必要があります: 実行時に型が決定される静的に型付けされた言語はありますか? もしそうなら、それらは何ですか?
ところで、おそらくこれは、言語が静的に型付けされないことを意味します。しかし、変数の型を使用する前に宣言する必要がある言語を意味します (もちろん、そうでなければこれを行うことはできません)。