he definir un tipo:Creación de registro de Ada con un campo
type Foo is record
bar : Positive;
end record;
Quiero crear una función que devuelve una instancia del registro:
function get_foo return Foo is
return (1);
end get_foo;
Pero Ada no va a dejar yo, diciendo que "el agregado posicional no puede tener un argumento".
Intentando estúpidamente, agregué otro campo mudo al registro, ¡y luego return (1, DOESNT_MATTER);
funciona!
¿Cómo le digo que Ada no es un agregado de posición, sino un intento de crear un registro?
FYI: En mi experiencia, la mayoría de los enemigos "Ada" se sienten frustrados porque están tratando de codificar algún otro idioma en Ada. Una vez que aprendes a escribir Ada, es un lenguaje muy bueno. Mejor que la mayoría. Sin embargo, hace un compilador de C increíblemente malo. –
Por ejemplo, * realmente * tiene que pensar en sus tipos. Si hay casos extremos donde intentará poner un 0 en la barra de arriba, va a empezar a sentirse realmente frustrado con constante 'constraint_error'. –
Como alguien que se acercó a Ada de forma optimista, estaba/estoy frustrado porque, a diferencia de otros idiomas, Ada hace que sea frustrantemente difícil aprender la "forma de hacerlo de Ada". :) Me gusta la idea de Ada, pero considero que la implementación es complicada y frustrante. Me identifico con ada hater. : p – weberc2