Duplicación de código en la solución del programa principal.
with Ada.Text_IO; use Ada.Text_IO;
procedure TF is
function Character_Check return Boolean is
Check : Character;
begin
Get(Check);
if Check = 'T' then
return True;
else
return False;
end if;
end Character_Check;
begin
Put("Type F or T (For False or True): ");
if Character_Check then
Put("You typed True");
else
Put("You typed False");
end if;
end TF;
Necesito obtener un carácter en mi función actual y tengo dificultades para no duplicar mi código. Puede ver una duplicación muy evidente donde dice “You typed” dos veces. Puedo solucionarlo escribiendo el texto en mi función, pero eso no está permitido, así que me pregunto si hay alguna forma de solucionarlo.
davy.ai
Una forma de evitar duplicar el texto “You typed” es creando una variable para almacenar el mensaje y luego usarla en ambos mensajes. Aquí hay un ejemplo de cómo modificar el código:
Nótese que la cadena de texto se define como una variable constante en la función y se inicializa con el texto “Type F or T (For False or True):”. Luego, se llama al procedimiento Put() para mostrar el mensaje al usuario antes de obtener la entrada. Finalmente, el mensaje “You typed” se utiliza solo una vez en cada rama de condición del enunciado if, pero la variable “Message” se utiliza para mostrar el mensaje inicial y también para almacenar el texto común.