・ 2006年4月 ・ |
●
(06/04/24)
|
●
(06/04/17)
|
●
(06/04/10)
|
●
(06/04/03)
|
・ 2006年3月 ・ |
●
(06/03/27)
|
●
(06/03/20)
|
●
(06/03/13)
|
●
(06/03/06)
|
・ 2006年2月 ・ |
●
(06/02/27)
|
●
(06/02/20)
|
●
(06/02/13)
|
●
(06/02/06)
|
・ 2006年1月 ・ |
●
(06/01/30)
|
●
(06/01/23)
|
●
(06/01/16)
|
・ 2005年12月 ・ |
●
(05/12/19)
|
●
(05/12/12)
|
●
(05/12/05)
|
・ 2005年11月 ・ |
●
(05/11/28)
|
●
(05/11/21)
|
●
(05/11/14)
|
●
(05/11/07)
|
・ 2005年10月 ・ |
●
(05/10/31)
|
●
(05/10/24)
|
●
(05/10/17)
|
●
(05/10/03)
|
・ 2005年9月 ・ |
●
(05/09/26)
|
●
(05/09/12)
|
●
(05/09/05)
|
・ 2005年8月 ・ |
●
(05/08/29)
|
●
(05/08/22)
|
●
(05/08/08)
|
●
(05/08/01)
|
・ 2005年7月 ・ |
●
(05/07/25)
|
●
(05/07/11)
|
●
(05/07/04)
|
・ 2005年6月 ・ |
●
(05/06/27)
|
●
(05/06/20)
|
●
(05/06/13)
|
●
(05/06/06)
|
・ 2005年5月 ・ |
●
(05/05/30)
|
●
(05/05/23)
|
●
(05/05/16)
|
●
(05/05/09)
|
・ 2005年4月 ・ |
●
(05/04/25)
|
●
(05/04/18)
|
●
(05/04/11)
|
●
(05/04/04)
|
・ 2005年3月 ・ |
●
(05/03/28)
|
●
(05/03/14)
|
●
(05/03/07)
|
・ 2005年2月 ・ |
●
(05/02/28)
|
●
(05/02/21)
|
●
(05/02/14)
|
●
(05/02/07)
|
・ 2005年1月 ・ |
●
(05/01/31)
|
●
(05/01/24)
|
●
(05/01/17)
|
・ 2004年12月 ・ |
●
(04/12/20)
|
●
(04/12/13)
|
●
(04/12/06)
|
・ 2004年11月 ・ |
●
(04/11/29)
|
●
(04/11/22)
|
●
(04/11/15)
|
●
(04/11/08)
|
●
(04/11/01)
|
・ 2004年10月 ・ |
●
(04/10/25)
|
●
(04/10/18)
|
●
(04/10/04)
|
・ 2004年9月 ・ |
●
(04/09/27)
|
●
(04/09/13)
|
●
(04/09/06)
|
・ 2004年8月 ・ |
●
(04/08/30)
|
●
(04/08/23)
|
●
(04/08/09)
|
●
(04/08/02)
|
・ 2004年7月 ・ |
●
(04/07/26)
|
●
(04/07/12)
|
●
(04/07/05)
|
・ 2004年6月 ・ |
●
(04/06/28)
|
●
(04/06/21)
|
●
(04/06/14)
|
●
(04/06/07)
|
|
|
【第133回】
相対パスと上の階
(05/11/21)
窓の杜高校、超パソコン部の部室。
あらあら、めも理ちゃん。今日は怒っているようです。
一体、何に対して怒っているのでしょうか?
上の階
|
ああ、面倒だわ。
|
|
どうしたんですか、めも理ちゃん。何かあったのですか?
|
|
先生に怒られて、罰として荷物運びを命じられたのよ。
|
|
それは大変ですね。
|
|
部室の1つ上の階にある部屋の荷物を、2つ下の階に運ばないといけないの。
|
|
へー、“上の階”“下の階”という言い方は、まるで相対パスのようですね。
|
|
相対パス? 何それ?
|
|
相対パスを知りませんか、めも理ちゃんが言った“上の階”のような言い方のことですよ。
|
|
……はっ?
|
|
どうやら、全然分かっていないようですね。
よい機会なので、相対パスと絶対パスについて教えることにしましょう。
|
相対パス
|
めも理と窓太の4コマまんが 「相対パスと上の階」 |
|
建物の階数を指す場合には、2種類の呼び方があります。
|
|
2種類?
|
|
そうです。先ほどめも理ちゃんが言ったように、“1つ上の階”“2つ下の階”といった呼び方と、3階、5階といった呼び方です。
|
|
なるほど、言われてみればそうね。
|
|
自分が今いる階を基準にして目的の階との差分を示す場合と、自分の居場所に関わらず建物全体をみて具体的に階数を示す場合がありますよね。
パソコンでも同じように場所を示す方法があるのです。それが相対パスと絶対パスです。
|
|
相対、絶対?
|
|
相対パスというのは、現在の場所に対して、どこにあるのかという呼び方です。同じ場所を指していても、現在の場所が変われば呼び方が変わります。
|
|
上の階や下の階といっしょで、自分が今いる階を基準にするのと同じ方式ね。
|
|
そうです。
そして絶対パスは、全体に対して、どこにあるのかを言う方法です。特定の場所は、現在の場所に関わらず、3階、5階のように必ず同じ呼び方で呼ばれます。
|
|
ふむふむ。
|
|
こういった相対パスと絶対パスという考え方は、Webの世界でよく登場します。
HTMLファイルのソースを見ると、Webページや画像のリンクが相対パスや絶対パスで表記されています。
|
|
リンクに相対パスや絶対パスというのがあるの?
|
|
そうです。例えば、“http://www.forest.impress.co.jp/article/2005/11/21/madota133.html”のようにURLを全て書くのが絶対パスになります。このような表記を“フルパス”と呼ぶこともあります。
対して、現在のURLを基準に“../../10/31/madota130.html”と、URLの一部を書くのが相対パスになります。
|
|
へー。
絶対パスはWebブラウザーのアドレスバーなどでも表示されるから分かるけど、相対パスの読み方が分からないんだけど。
|
|
それでは、少し読み方を説明しましょう。
“/”というのがフォルダの階層を区切る記号になります。“..”というのは、“1つ上のフォルダ”という意味になります。
なので“../../10/31/madota130.html”は、現在のURLを基準にして、2つ上の階層にあるフォルダに移動し、次に“10”というフォルダの“31”というフォルダ内にある“madota130.html”というファイルのことを示しています。
図で書くと、以下のようになりますよ。
|
|
なるほど、こういう意味だったのね。
|
|
相対パスで注意しないといけないのは、あくまでも現在いる位置からの相対的なパスであるということです。
“http://www.forest.impress.co.jp/article/2005/11/21/madota133.html”に対して“../../10/31/madota130.html”という相対パスがある場合、このパスを絶対パスに直すと“http://www.forest.impress.co.jp/article/2005/10/31/madota130.html”となります。
しかし“http://www.forest.impress.co.jp/article/2005/index.html”に対して“../../10/31/madota130.html”という相対パスがある場合、このパスを絶対パスに直すと“http://www.forest.impress.co.jp/10/31/madota130.html”となります。
同じ相対パスでも、基準となるURLが変わると、絶対パスに書き換えたときの位置が変わりますよね。
|
|
ちょっとややこしいわね。
|
|
めも理ちゃんにはまだ難しいかもしれないですね。
また、Windows 98/Me/2000/XPでエクスプローラを使っているときにも、フォルダの場所を示すためにこのようなパスが表示されます。
|
|
そうなの?
|
|
エクスプローラのアドレスバーに“C:\Program Files\Internet Explorer”といった文字列が表示されています。この文字列が、現在開いているフォルダの絶対パスです。
エクスプローラでは、“/”ではなく“\”という区切り文字でフォルダの階層を区切ります。
また、エクスプローラ上では“..”を使った相対パスでフォルダを場所を示すことはなく、常に絶対パスで表示されます。
|
荷物運び
|
はー、はー。
|
|
ものすごい疲れているようですね。荷物運びは、そんなに大変だったのですか?
|
|
大変だったわよ。同じ荷物を下の階に持って行ったり、上の階に持って行ったり。
|
|
あれ、部室の1つ上の階にある部屋の荷物を、2つ下の階に運ぶんじゃなかったのですか?
|
|
……。
|
|
どうしたんですか。黙り込んでしまって。
|
|
よくよく考えてみたら、先生に怒られた教室を基準にして、1つ上の階にある部屋の荷物を、2つ下の階に運ばないといけなかったのよ。
おかげで、違う荷物を運んでしまったから、間違って運んだものを元に戻して、また最初から荷物運びをやり直す羽目になったのよ。
|
|
そ、それは大変でしたね。
|
|
はー、相対パスなんて嫌いよ。やはり、絶対パスで言ってもらわないと困るわ。
|
|
そうですね。めも理ちゃんの頭脳では、相対パスは処理しきれないでしょうからね。
|
今回出てきた用語の解説
【相対パス】 現在のフォルダに対して、他のフォルダやファイルがどこにあるかを示す方法。
【絶対パス】 現在のフォルダに関わらず、常に同じ表記で他のフォルダやファイルがどこにあるかを示す方法。
(クロノス・クラウン:柳井 政和)
|
|
|