2020年8月20日木曜日

MELでキャピタライズをしてみる

プログラミングには、いろいろ命名規則があり、さらに、それぞれの命名規則には名称が付いているようです。

MELの命名規則としては、先頭が小文字で、あとに続く単語の先頭は大文字にするというのが推奨されています。


命名規則の名称ですが、よく目にするのは2種類。
・複数単語の先頭を大文字にする、キャメルケース
・複数単語をアンダーバーで区切る、スネークケース

更に、キャメルケースには、いちばん最初の単語を小文字にするものをローワーケースと呼び、大文字で始めるものをアッパーケースと呼ぶよう細分化されているようです。
でも、いつの頃からか、ローワーケースをキャメルケースと呼び、アッパーケースをパスカルケースと呼ぶようになりました・・・。

例としては、
lowerCase, camelCase,
UpperCase, PascalCase,
snake_case
みたいな感じ。

ここまでが予備知識。


このキャメルケースのような連なる単語の先頭を大文字にすることをキャピタライズと言います。
先頭の1文字を大文字に変えるだけなので自作できなくもないのですが、名前が付くくらい一般的なことなので、capitalizeStringというMELコマンドがマクロとして存在しています。
※pythonにもcapitalizeという文字列メソッドが有るみたいですね。

で、MELには、これと似たような機能として interToUIというコマンドがあります。
この interToUIもマクロなのですが、windowコマンドの -title フラグなんかで使用するとなかなか便利です。
{
    string $title ="sampleHogeWindow";
    
    window -t `interToUI $title`;
    
    showWindow;
    
}


こんな感じで、ウィンドウタイトルの sampleHogeWindow を Sample Hoge Window へ変換してくれます。キャピタライズに加えて単語の間にスペースも入れてくれるのが粋です。
ちょっと馴染みのなさそうなコマンド名なので、コマンドヘルプから探し出すのが難しいのですが、ツールウィンドウを作るときに重宝します。
ま、interCapsというのが、キャメルケースの別称だったりするんですが。

0 件のコメント:

コメントを投稿