delimiter / separator / divider
の違い

以前から、なんとなく 気になっていたのですが、時間があったので調べてみました。狭い文脈で調べたので、他の文脈では異なる考え方があるかもしれませんので、ご了承ください。

1. delimiter

delimitの意味は「範囲・境界を定める」です。つまり「範囲はここから、ここまでですよ」あるいは「境界はここですよ」と示すのがdelimiterらしいです。

いつものwikipediaでdelimiterを調べてみると、コンピュータ用語としては以下の2つの意味があるようです。単なる区切り文字ではないのですね。

  1. フィールドやレコードを分離する文字 – 例) カンマや改行
  2. 括弧など範囲を指定する文字 – 例) [  ]や”  “など

例えば、配列の初期化子 [ ]は「ここから、ここまでが配列の定義ですよ」と範囲を定めている事になるので、デリミターになります。また配列の要素は、カンマで境界が区切られているので、これもデリミターです。まとめるとdelimiterは、構文における境界文字という感じですね。

名称未設定-2_07

2. separator

separateの意味は、”分離する” で混ざるとマズいものを分けるために挿入するのがセパレータです。CSV (Comma-Separated-Values)の場合、フィールドそれぞれを識別する必要があるので、カンマをseparatorとして配置します。

また、このカンマは境界を定めているので、delimiterとも言えます。ただし、フィールドを囲う “” はdelimiterですが、分離するためのものではないので、separatorにはなりません。wikipediaを調べてみても、技術用語としてのエントリーはなかったので、separatorは純粋な区切り文字という意味だと思います。

名称未設定-2_03

3. divider

divideの意味は”分ける・分割する”です。”割り算する” もdivideです。

小学校の算数になりますが、8個のりんごを2人で分ける場合、1人あたりのリンゴは4つになります。separateと違い、1つ1つに分けるのが目的でなく、必要な数の山に分ける事がdivideの目的になります。また、結果的に1つずつ分かれることもあります。

ちょっとした例ですが、Twitter bootstrapのDropdownにdividerというのがあります。これは、ドロップダウンメニューに区切り線を入れるものです。イメージ的には、グルーピングに近いと思います。

bootstrap divider

4. まとめ

調べてみると面白いですね。役に立つかは別として、是非、みなさんも気になったら調べてみてください。そういえば、MIMEの boundary って、アレは何でしょうね w、時間があったら調べてみます。


Kenji in codic

codic のリードプログラマー / デザイナーです。時間があれば、英語やネーミング、NLPについて研究したりしています。