Ver Mensaje Individual
  #10  
Antiguo 19-03-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Pues si, ojo con los strings vacios

Código Delphi [-]
function foo1(const s: string): string;
begin
  if (s[1] = '/') and (s[2] = '/') then
    Result := 'Hola'
  else
    Result := 'Adios';
end;

function foo2(const s: string): string;
const
  MSG: array [Boolean] of string = ('Adios', 'Hola');
begin
  Result := MSG[(s[1] = '/') and (s[2] = '/')];
end;

function foo3(const s: string): string;
begin
  if s[1] + s[2] = '//' then
    Result := 'Hola'
  else
    Result := 'Adios';
end;

begin
  try
     Writeln('Foo1 EmptyStr: ' + foo1('')); // AV
     Writeln('Foo2 EmptyStr: ' + foo2('')); // AV
     Writeln('Foo3 EmptyStr: ' + foo3('')); // AV
     Writeln('Foo3 A: ' + foo3('A')); // AV
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Responder Con Cita