![]() |
| 好的 Free 帶你上天堂 (咦?) 圖片來源 |
最近看到一篇關於葡萄牙人寫的文章:FreeAndNil... Esqueça
內文是說明在物件導向的時代,JAVA、C# 這類的語言都有垃圾自動回收機制,進化中的 Delphi 其實也有。
接著便開始說明了使用 FreeAndNil 讓我們的原始碼非常噁心的經過。
提出的解法是使用 Interface!
原先我們的寫法可能是:
![]() |
| 好的 Free 帶你上天堂 (咦?) 圖片來源 |
![]() |
| 泛型 (Generic) 是程式毒藥還是解藥? 圖片來源 |
1 2 3 4 5 6 7 8 9 | function OccurrencesOfChar(const S: string; const C: char): integer;var i: Integer;begin result := 0; for i := 1 to Length(S) do if S[i] = C then inc(result);end; |
1 2 3 4 5 6 7 8 9 10 11 12 | function Occurrences(const Substring, Text: string): integer;var offset: integer;begin result := 0; offset := PosEx(Substring, Text, 1); while offset <> 0 do begin inc(result); offset := PosEx(Substring, Text, offset + length(Substring)); end;end; |