delimiter / separator / divider
の違い
以前から、なんとなく 気になっていたのですが、時間があったので調べてみました。狭い文脈で調べたので、他の文脈では異なる考え方があるかもしれませんので、ご了承ください。
1. delimiter
delimitの意味は「範囲・境界を定める」です。つまり「範囲はここから、ここまでですよ」あるいは「境界はここですよ」と示すのがdelimiterらしいです。
いつものwikipediaでdelimiterを調べてみると、コンピュータ用語としては以下の2つの意味があるようです。単なる区切り文字ではないのですね。
- フィールドやレコードを分離する文字 – 例) カンマや改行
- 括弧など範囲を指定する文字 – 例) [ ]や” “など
例えば、配列の初期化子 [ ]
は「ここから、ここまでが配列の定義ですよ」と範囲を定めている事になるので、デリミターになります。また配列の要素は、カンマで境界が区切られているので、これもデリミターです。まとめるとdelimiterは、構文における境界文字という感じですね。
2. separator
separateの意味は、”分離する” で混ざるとマズいものを分けるために挿入するのがセパレータです。CSV (Comma-Separated-Values)の場合、フィールドそれぞれを識別する必要があるので、カンマをseparatorとして配置します。
また、このカンマは境界を定めているので、delimiterとも言えます。ただし、フィールドを囲う “” はdelimiterですが、分離するためのものではないので、separatorにはなりません。wikipediaを調べてみても、技術用語としてのエントリーはなかったので、separatorは純粋な区切り文字という意味だと思います。
3. divider
divideの意味は”分ける・分割する”です。”割り算する” もdivideです。
小学校の算数になりますが、8個のりんごを2人で分ける場合、1人あたりのリンゴは4つになります。separateと違い、1つ1つに分けるのが目的でなく、必要な数の山に分ける事がdivideの目的になります。また、結果的に1つずつ分かれることもあります。
ちょっとした例ですが、Twitter bootstrapのDropdownにdividerというのがあります。これは、ドロップダウンメニューに区切り線を入れるものです。イメージ的には、グルーピングに近いと思います。
4. まとめ
調べてみると面白いですね。役に立つかは別として、是非、みなさんも気になったら調べてみてください。そういえば、MIMEの boundary って、アレは何でしょうね w、時間があったら調べてみます。