ニコニコ大百科モバイル

7/2(月)よりスマホまたはPCでアクセスした場合、各デバイス向けのサイトへ自動で転送致します


名前空間


ヨミ: ナマエクウカン
掲示板をミル!
3カキコ!

名前空間とは、名前が格納される1次元間である。name spaceの直訳である。


概要


名前は、異なるものを区別するためにつけられる。従って違うものに同じ名前をつけることは許されない。つまり、ある名前が使われると、その名前は原則として他のものをすために使うことはできないのである。

一方で、辞書を思い浮かべればわかるように、すべての名前を辞書順に並べることができる。

空間(数学)について知識があるのならば、辞書順に並んだ名前を数直線という1次元間上の点に見立てて、あるものが使っている名前を他のものが使うことができないという名前の性質が、間内の点(名前)を占有されると他のものがその間(名前)を使うことができなくなるという間の性質に合致することがイメージできるはずである。さらに想像が働くのならば、その1次元間には可算無限の密度で要素(名前)が存在していて、旧支配者のような正確に呼ぶことが出来ない存在の名前はその要素の隙間に不可算無限の密度で存在しているかもしれないと思い当たるかもしれないが、それ以上深く考えてはいけない。ああ、窓に!窓に!

名前が被ってしまう事態(名前空間における衝突などと呼んだりする)を、いかにして回避しているかということについて、各分野について個別に述べる。


ニコニコ大百科


ニコニコ大百科でも記事が増えるに従って、名前空間上の衝突が増え、曖昧さ回避で解決することが一般的となった。特に生放送については衝突が非常に多かったため、生放送カテゴリが作られるに至った。


Document Type Definition(DTD)


HTMLXMLソースを読んだことがある人なら、そのヘッダーに <html lang="ja" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml"> といったURLを含んだ呪文のような文言をにしたことがあるのではないだろうか。

このURLの部分はオフラインではアクセスできないのにどうするんだろうかと疑問に思ったことはないだろうか。

xmlnsというのは、XML name spaceの略で、XMLタグに使用する名前が被っても、異なるxmlnsに属するなら区別できるようにするためのものである。

つまり、本当はURLでなくてもよいはずだが、通常は世界中で他人と被らず、XMLを使う人がたいてい持っていそうなものということでURLを使うのが慣習になっている。別にxmlnsに定義されているURLアクセスして何かをダウンロードしてくるわけではない。


プログラミング


プログラミングでは変数などに名前をつけることは日常茶飯事だが、プログラミングが大きくなってくるに従ってnameとかindexとか、つけようとする名前がかぶることが多くなってくる。

多くのプログラミング言語ではスコープという概念を導入し、変数を参照できる範囲を制限している。スコープが重ならなければ、同じ名前でも違う変数を参照していることがわかるので問題ないという仕組みである。

他の人が作ったライブラリインポートによりライブラリ変数名と、自分の書いたソースコードにある変数名がかぶってしまったりすると、名前空間が汚染されるなどといったりする。ライブラリ変数側にライブラリ名を付け足したりして名前の重複を回避することが多い。


現実


そうはいいつつも、実社会では、文脈によって問題なく通じてしまうことも多く、同じ名前に2つ以上意味があってもそのままになっているのが実情である。こまけぇこたぁいいんだよ!!

もっとも、登録商標のようにお金が絡むような場合はその限りではない。完全に一致していない名前ですら、似ている似ていないでしい争いになったりする。細かい事が大切です


関連項目



最終更新日: 15/06/24 19:37
タグ検索 パソコン版を見る


[0]TOP
ニコニコ動画モバイル
運営元:ドワンゴ