Мне было интересно, существуют ли какие-либо языки, которые допускают именованные кортежи. Т.е.: объект с несколькими переменными различного типа и настраиваемое имя.
Например:
public NamedTuple<double:Speed, int:Distance> CalculateStuff(int arg1, int arg2)
var result = CalculateStuffTuple(1,2);
Console.WriteLine("Speed is: " + result.Speed.ToString())
Console.WriteLine("Distance is: " + result.Distance.ToString())
Я мог бы понять, как динамика может поддерживать такую функцию. Статические языки, которые я обычно плаваю (например, С#), могут выполнять словарь, но это не безопасно, если все элементы одного типа. Или вы можете использовать тип Tuple, но это означает, что у вас есть фиксированные имена членов (Var1, Var2 и т.д.).
Вы также можете написать небольшой пользовательский класс, но эту ситуацию я бы хотел избежать.
Я мог представить, что язык макросов может script что-то вроде этого для вас на статическом языке, но я не знаю такого языка.
Это выходит из моего ответа из этого вопроса о типах возврата.