dポイントプレゼントキャンペーン実施中!

"T_CONSTANT_ENCAPSED_STRING"とメッセージが出ているのですが、ENCAPSEDとは、どういう意味ですか?

A 回答 (4件)

No.3です。

とりあえず捕捉情報。
ご存知かもしれませんが。

---
constant stringは
「文字列定数(不変の文字列、変数でない文字列、"書かれた"文字列)」
といったあたりの意味じゃないかな? と思います。
(いずれにせよ「引用符で囲まれた文字列」のことを指してるものと思われる)

tは、「トークン(token)」のtだと思います。
(※トークン=構文解析器(パーサ)にとっての解析単位の一つ。
自然言語でいえば、「単語」にあたるかも)

まあ、このへん、"構文解析用語"になってきて、
ぼくもよくわかりませんし、
同時に「(プログラマさえ知る必要ない)きわめて内部的な話」でもあるし、
また、
このへんの「ネーミング」に関する正確なところは、
PHPパーサ(=PHPプログラムの翻訳機)を作ったひとでないと、
わからないと思います。
略語かもしれないし、造語かもしれないし、
「彼ら独特の言葉」かもしれないし、
英文法に正しく従ってる必要もないですし。

そのへんは、いってみれば、どうでもいいわけです。
単なる「名前」、単なる「ID」なので。
---

プログラマとして知っているべきなのは、
「T_CONSTANT_ENCAPSED_STRING」という「エラーカテゴリ名」が
「どの種のエラーを示唆しているか」
だと思います。
そしてそれは、マニュアルなど、
「ちゃんと解説された」資料にあたるしかないですね…。
(※ようするに字面から推測するには限界がありすぎるということ)

http://php.morva.net/manual/ja/tokens.php
(※冒頭の数行をぜひ読んで!
「内部的」
「ID」
「何を意味するかを知っていることを仮定する(※知っている必要がある、の意))
---

ようするに、T_CONSTANT_ENCAPSED_STRINGというのは、

(引用符で囲まれた)文字列に関して
「構文エラー」を知らせたい場合、
この「エラーコード(エラー名)」が吐き出される

ということです。

この回答への補足

「T_CONSTANT_ENCAPSED_STRING」は、始めの引用符を発見してから、ずっとエラーが続いているという意味だと思います。<(_ _)>

補足日時:2009/06/26 12:49
    • good
    • 0
この回答へのお礼

ネーミングに関することを知るために、PHPパーサーの作成者が誰か知りたいですが、「引用符で囲んだ文字列」の他にcaps=コンピューター援用搭乗者検査システム(=computer-aided [computer-assisted] passenger screening)の意味もあるような気がします。「T_CONSTANT_ENCAPSED_STRING」は、パーサトークンなのですね。随分長いエラーコードだと分かりました。ありがとうございました。<m(__)m>

お礼日時:2009/06/26 12:15

「encapsed string」を


webで検索してみた限り、
意味的には,

「enclosed string」
(a string enclosed in single or double quotes
引用符で囲んだ文字列)

みたいですが…。

encased string
encapsulated string

あたりの意味かなあ…。造語にしても、なんだか中途半端…。
    • good
    • 0
この回答へのお礼

丸括弧を付けないことで、"<br>"の部分がエラーになったので、おっしゃる通り「引用符で囲んだ文字列」のようです。T_constantはjavaの説明でClass lib.Types とか variabl index とか整数を文字に変換するメソッドを提供するとか書かれていました。小数点の後ろに"<br>"が突然現れたので、どういう訳かコンピュータが変換をかけようとしてエラーになったのか…。しかし、PHPはC言語で記述しているらしく…。なぜこのようなメッセージが出力されたのか分かりませんが、encapsedの意味は分かりました。ありがとうございました。

お礼日時:2009/06/25 13:22

プログラミング上のエラーの警告文ですね。


英語には encapse という単語があるのかどうか、分りませんでした。
おそらくは、人工的に作られた用語ではないでしょうか。
むしろ、プログラミングのカテゴリーでご質問された方が良かったかもしれませんね。
    • good
    • 0
この回答へのお礼

もう少し、待ってから質問しなおします。<m(__)m>

お礼日時:2009/06/24 20:36

プログラミング言語のエラーメッセージですか?


あくまで推測ですが,
T_CONSTANT 定数T
ENCAPSED EN+CAPS+EDのことか? 「大文字で表記された」?
STRING 文字列

あわせると,「定数Tは,大文字で書かれた文字列である」
大文字で定義されているのに,プログラム中で小文字で
表記してしまったために,警告ないしエラーがでたのでは
ないでしょうか? はなはだ自信のない回答です。

コンピュータのカテゴリーで質問されることをおすすめします。

この回答への補足

エラーの内容は、プログラムの演算で()を付けないで実行した結果です。項目定義をしなくて良いプログラムです。caps=コンピューター援用搭乗者検査システムかと考えました。プログラムを擬人化して、実行時にコードを検査してエラーになったとか。しかし、プログラムで大文字小文字は関係なくても、構文エラーなのですが、暴走でもして、ちぐはぐなエラーがでたのでしょうか…。ありがとうございました。

補足日時:2009/06/24 20:28
    • good
    • 0
この回答へのお礼

一日、待って返事がなかったので、カテゴリーを英語に移しました。大文字小文字は関係ないと思います。再度、コンピュータのカテゴリーで質問し直します。<m(__)m>

お礼日時:2009/06/24 20:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!