Школоло / Говнокод #18113 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
function CopyEx(s:string; index,count:integer):string;
var
  len,ln:integer;
begin
  ln:=0;
  if index <1 then index:=1;
  len:=length(s);
  ln:=len-count;
  dec(ln);
  dec(len,(index+ln));
  result:=copy(s,index,len);
end;

Запостил: Stertor Stertor, (Updated )

Комментарии (5) RSS

  • Запутанно как-то получилось...
    // раскроем dec()
    len := length(s);
    ln := len - count - 1;
    len := len - (index + ln);
    // упростим выражение для len
    ln := length(s) - count - 1
    len := length(s) - (index + length(s) - count - 1)
    // еще упростим
    len := length(s) - index - length(s) + count + 1
    // сократим длину строки
    len := count - index + 1
    // и наконец
    result := copy(s, index, count - index + 1)
    А index и count, наверное, стоит переименовать в first и last.
    Ответить
    • Т.е. как-то так, если я правильно понял назначение функции:
      function CopyEx(s : string; first, last : integer) : string;
      begin
        if first < 1 then
            first := 1;
        result := copy(s, first, last - first + 1);
      end;
      
      CopyEx("Хуй, Пизда и Джигурда", 1, 3); // "Хуй"
      CopyEx("Хуй, Пизда и Джигурда", 6, 10); // "Пизда"
      Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8