高見知英の技術ログ

技術関係のログをQiitaから移行してきました。プログラミングのほか、使っているアプリの細かい仕様についてなど書いていきます。

Lazarusで拡張メソッド?

このブログはLazarus(FreePascal)アドベントカレンダー11日目の記事です。

qiita.com

Lazarusには(というかPascalには)、他の言語でいう拡張メソッド的な書き方を実現する仕組みがあります。

それがヘルパークラスです。

wiki.freepascal.org

えっ、そんな機能昔使ってたDelphiにはなかった・・・!と思ってたらDelphiにも(編集履歴を見る限り2015年には?)ある機能みたい。

docwiki.embarcadero.com

このあたりでとても気軽に使えるのが、TStringHelper。

www.freepascal.org

最近の言語であれば比較的自然な、文字列リテラルのあとに.を書いてメソッドを呼び出す なんてことが可能になります。

'%sのバージョン情報'.Format([Application.ExeName]);

みたいな感じで。

いくつか自分のところで使っている感じとしては、シチュエーションにもよりますがとても書きやすいので、どんどん活用していきましょう。