さまざまな言語仕様について熱く語る闘技場
2008/12/08(月) 13:15:56ID:???
ROUND 1開始!
2008/12/08(月) 13:19:45ID:???
PHPのarray()は関数です。以上
2008/12/08(月) 18:38:20ID:???
配列を作るたびに、いちいち
array
って、書かないといけないの、なんとかならないの?
perlだったら、
@a=(1,2,3,4,5);
これで、すぐに配列作れるのに。
なんで、いちいち、arrayとかって、
言ってあげないとわからないの?
それと、配列のくせに、シジルが$なのも
むかつきます。納得できません。
array
って、書かないといけないの、なんとかならないの?
perlだったら、
@a=(1,2,3,4,5);
これで、すぐに配列作れるのに。
なんで、いちいち、arrayとかって、
言ってあげないとわからないの?
それと、配列のくせに、シジルが$なのも
むかつきます。納得できません。
2008/12/08(月) 18:41:45ID:???
仕様です
2008/12/08(月) 19:01:20ID:???
arrayは関数ではありません。以上
2008/12/08(月) 19:02:23ID:???
無知乙
関数ですよ
キミはperlから入ってきたからPHPの仕様をよく知らないようだ
関数ですよ
キミはperlから入ってきたからPHPの仕様をよく知らないようだ
2008/12/08(月) 19:05:18ID:???
>>6
無知な君のために証拠を見せてあげてもいいが、
見せてくれって頼まれてもいないのに見せたんじゃ、
知恵の押し売りになっちまうからな。
結論だけ。
システム仕様としてPHPのarrayは関数ではありません。
無知な君のために証拠を見せてあげてもいいが、
見せてくれって頼まれてもいないのに見せたんじゃ、
知恵の押し売りになっちまうからな。
結論だけ。
システム仕様としてPHPのarrayは関数ではありません。
2008/12/08(月) 20:34:25ID:???
popって、配列関係の関数に決まってるのに、なんで
いちいち、わざわざ
array_pop
とかって、「array」を接頭辞につけるの?
pop、だけで十分、意味がわかるし、通じるじゃん。
実際、perlでは、「pop」だけで世の中回ってるよ?
いちいち、わざわざ
array_pop
とかって、「array」を接頭辞につけるの?
pop、だけで十分、意味がわかるし、通じるじゃん。
実際、perlでは、「pop」だけで世の中回ってるよ?
10nobodyさん
2008/12/08(月) 20:45:50ID:??? perlしか知らないからそう思うのです
11nobodyさん
2008/12/09(火) 00:40:18ID:??? arrayは特殊ではあるが関数だよ
因みにissetやemptyは関数じゃない
因みにissetやemptyは関数じゃない
12nobodyさん
2008/12/09(火) 07:17:29ID:???13nobodyさん
2008/12/10(水) 14:05:11ID:??? 時代はwhitespaceですよ。
14nobodyさん
2008/12/10(水) 16:15:22ID:??? なにやら混乱があるようだけど、 array() は関数ではないよ。echo などと同
様、言語構成要素の一つ。
array($x, $y,) のように、array()は最後の引数のあとにも , を置くことがで
きる。
http://jp.php.net/manual/ja/function.array.php
これは、array()の評価のされ方が、関数と同じではないことを示している。一
般のユーザがPHPやCで関数を書いて、array()と同じ挙動をさせることはできな
い。このことから明らかに、array()はPHPの構文解析器そのものに組み込まれ
た言語構成要素。
また array()はコールバックとして他の関数に与えることもできない。
http://jp.php.net/manual/ja/language.pseudo-types.php
これもやはり、 array()が関数ではなく言語構成要素だから。LISPで言えば、
高階関数にスペシャルフォームを与えることはできないのと同じ。
様、言語構成要素の一つ。
array($x, $y,) のように、array()は最後の引数のあとにも , を置くことがで
きる。
http://jp.php.net/manual/ja/function.array.php
これは、array()の評価のされ方が、関数と同じではないことを示している。一
般のユーザがPHPやCで関数を書いて、array()と同じ挙動をさせることはできな
い。このことから明らかに、array()はPHPの構文解析器そのものに組み込まれ
た言語構成要素。
また array()はコールバックとして他の関数に与えることもできない。
http://jp.php.net/manual/ja/language.pseudo-types.php
これもやはり、 array()が関数ではなく言語構成要素だから。LISPで言えば、
高階関数にスペシャルフォームを与えることはできないのと同じ。
15nobodyさん
2008/12/10(水) 16:17:25ID:??? >>9
> popって、配列関係の関数に決まってるのに、なんで
> いちいち、わざわざ
> array_pop
> とかって、「array」を接頭辞につけるの?
それはたぶん、PHPに名前空間がなかったから。
Perlにはパッケージがある。
> popって、配列関係の関数に決まってるのに、なんで
> いちいち、わざわざ
> array_pop
> とかって、「array」を接頭辞につけるの?
それはたぶん、PHPに名前空間がなかったから。
Perlにはパッケージがある。
16nobodyさん
2008/12/10(水) 19:03:12ID:??? >>14
言語構成要素の1つではあるが何故関数で無いと言いきれるんだ?
arrayの注意点にはこうある
注意: array()は、実際にはリテラル配列を表現するための 言語構成要素であり、通常の関数ではありません。 echoやissetはこうだ
注意: これは、関数ではなく言語構造のため、可変関数 を用いてコールすることはできません。
arrayは言語構成要素の1つではあるが
言語構造では無く特殊な関数と言うことじゃねぇの?
ここらへんの説明よろしく
言語構成要素の1つではあるが何故関数で無いと言いきれるんだ?
arrayの注意点にはこうある
注意: array()は、実際にはリテラル配列を表現するための 言語構成要素であり、通常の関数ではありません。 echoやissetはこうだ
注意: これは、関数ではなく言語構造のため、可変関数 を用いてコールすることはできません。
arrayは言語構成要素の1つではあるが
言語構造では無く特殊な関数と言うことじゃねぇの?
ここらへんの説明よろしく
17nobodyさん
2008/12/10(水) 19:04:48ID:??? >>14
言語構成要素の1つではあるが何故関数で無いと言いきれるんだ?
arrayの注意点にはこうある
注意: array()は、実際にはリテラル配列を表現するための 言語構成要素であり、通常の関数ではありません。
echoやissetはこうだ
注意: これは、関数ではなく言語構造のため、可変関数 を用いてコールすることはできません。
arrayは言語構成要素の1つではあるが
言語構造では無く特殊な関数と言うことじゃねぇの?
ここらへんの説明よろしく
なんか改行が変になったので再
言語構成要素の1つではあるが何故関数で無いと言いきれるんだ?
arrayの注意点にはこうある
注意: array()は、実際にはリテラル配列を表現するための 言語構成要素であり、通常の関数ではありません。
echoやissetはこうだ
注意: これは、関数ではなく言語構造のため、可変関数 を用いてコールすることはできません。
arrayは言語構成要素の1つではあるが
言語構造では無く特殊な関数と言うことじゃねぇの?
ここらへんの説明よろしく
なんか改行が変になったので再
18nobodyさん
2008/12/10(水) 20:16:36ID:??? >>17
すまんが問われている意図がいまいちよくわからん。
逆に問い返させてくれ。
1. 「特殊な関数」って何だ?array()がその一つだと考えていることは分かっ
たが、他にはどんなのがある?
自分の考えでは、PHPには「特殊な関数」というカテゴリはない。関数か、そう
でないかだ。
で、関数かどうかは、「関数のように評価され実行されるもの」が関数だ。
array()は、構文解析器に備わった、関数を評価する汎用的な仕組みでは評価で
きないから関数ではない。
array()を評価するためには、構文解析器にarray()専用の仕組みが必要だ。
2. 「言語構成要素」と「言語構造」の違いは何だ?PHPではどれが言語構成要
素で、どれが言語構造なんだ?
自分の考えでは、この二者に違いはない。いずれも、構文解析器に専用の仕組
みを必要とするものだ。
すまんが問われている意図がいまいちよくわからん。
逆に問い返させてくれ。
1. 「特殊な関数」って何だ?array()がその一つだと考えていることは分かっ
たが、他にはどんなのがある?
自分の考えでは、PHPには「特殊な関数」というカテゴリはない。関数か、そう
でないかだ。
で、関数かどうかは、「関数のように評価され実行されるもの」が関数だ。
array()は、構文解析器に備わった、関数を評価する汎用的な仕組みでは評価で
きないから関数ではない。
array()を評価するためには、構文解析器にarray()専用の仕組みが必要だ。
2. 「言語構成要素」と「言語構造」の違いは何だ?PHPではどれが言語構成要
素で、どれが言語構造なんだ?
自分の考えでは、この二者に違いはない。いずれも、構文解析器に専用の仕組
みを必要とするものだ。
19nobodyさん
2008/12/10(水) 20:20:22ID:??? もしかしたらいるかもしれない外野のために補足すると、自分はLISPの、関数
とスペシャルフォーム(特殊形式)の解析方法の違いを念頭に置いて書いている。
とスペシャルフォーム(特殊形式)の解析方法の違いを念頭に置いて書いている。
20nobodyさん
2008/12/10(水) 20:22:10ID:??? そんな遠まわしに書かなくても、すっきり明快な答えの出し方がある。
もうすこし、関数を勉強してくれ、諸君。
もうすこし、関数を勉強してくれ、諸君。
21nobodyさん
2008/12/10(水) 20:26:39ID:??? そんな些細な言葉の違いを言うなら原文ではどっちもlanguage construct。
パーサトークンであり構文。
http://jp.php.net/manual/ja/tokens.php
注釈が違うのはそもそも何かを処理するものでもない
arrayを可変コールすることなんざまずないからじゃね。
パーサトークンであり構文。
http://jp.php.net/manual/ja/tokens.php
注釈が違うのはそもそも何かを処理するものでもない
arrayを可変コールすることなんざまずないからじゃね。
22nobodyさん
2008/12/10(水) 20:38:29ID:???23nobodyさん
2008/12/10(水) 20:40:14ID:??? >>18
> 自分の考えでは、PHPには「特殊な関数」というカテゴリはない。
> 関数か、そうでないかだ。
特殊関数 つ ttp://jp.php.net/manual/ja/language.oop.magic-functions.php
> 自分の考えでは、PHPには「特殊な関数」というカテゴリはない。
> 関数か、そうでないかだ。
特殊関数 つ ttp://jp.php.net/manual/ja/language.oop.magic-functions.php
2420
2008/12/10(水) 20:41:34ID:???25nobodyさん
2008/12/10(水) 20:51:32ID:???26nobodyさん
2008/12/10(水) 20:56:36ID:??? >>25
おれは何も勉強させたつもりはないし、有用な情報は提示していないが?
特殊関数といっても、普通はマジックメソッドってみんな言ってるやつを
訳者が特殊関数って書いてるだけだと思う。
だからどうということはないが。
おれは何も勉強させたつもりはないし、有用な情報は提示していないが?
特殊関数といっても、普通はマジックメソッドってみんな言ってるやつを
訳者が特殊関数って書いてるだけだと思う。
だからどうということはないが。
27nobodyさん
2008/12/10(水) 21:10:56ID:??? >>26
まあ勝手に感謝されたら気持ちが悪いかもしれないが、情報の価値はその受け
手が決めるもんです。PHP入門者の自分はまさにその情報を欲していた。
つうかあなたが「くだ質」スレに登場してたら、話は早かったのになあ。
http://pc11.2ch.net/test/read.cgi/php/1226517332/961-
http://pc11.2ch.net/test/read.cgi/php/1228667259/13-27
まあ自分はあっちのスレには書いてないけど。
マジックメソッドについては分かってる。今度は原文をちゃんと読んだし。
まあ勝手に感謝されたら気持ちが悪いかもしれないが、情報の価値はその受け
手が決めるもんです。PHP入門者の自分はまさにその情報を欲していた。
つうかあなたが「くだ質」スレに登場してたら、話は早かったのになあ。
http://pc11.2ch.net/test/read.cgi/php/1226517332/961-
http://pc11.2ch.net/test/read.cgi/php/1228667259/13-27
まあ自分はあっちのスレには書いてないけど。
マジックメソッドについては分かってる。今度は原文をちゃんと読んだし。
28nobodyさん
2008/12/10(水) 21:17:57ID:???29nobodyさん
2008/12/10(水) 21:51:32ID:???30nobodyさん
2008/12/10(水) 22:08:54ID:???31nobodyさん
2008/12/10(水) 22:19:26ID:???32nobodyさん
2008/12/10(水) 22:21:12ID:??? 日本語訳した野郎の勝手な解釈が含まれてるってことだお
33nobodyさん
2008/12/10(水) 22:24:30ID:??? [arrayは言語構造なの!] 攻撃:95 素早さ:40 防御:37 命中:83 運:43 HP:200
[arrayは関数だゴルァ!] 攻撃:28 素早さ:65 防御:37 命中:52 運:21 HP:163
arrayは言語構造なの! vs arrayは関数だゴルァ! 戦闘開始!!
[arrayは関数だゴルァ!]の攻撃 HIT [arrayは言語構造なの!]は1のダメージを受けた。
[arrayは言語構造なの!]の攻撃 HIT [arrayは関数だゴルァ!]は169のダメージを受けた。
[arrayは言語構造なの!]が[arrayは関数だゴルァ!]を倒しました(ラウンド数:1)。
[arrayは関数だゴルァ!] 攻撃:28 素早さ:65 防御:37 命中:52 運:21 HP:163
arrayは言語構造なの! vs arrayは関数だゴルァ! 戦闘開始!!
[arrayは関数だゴルァ!]の攻撃 HIT [arrayは言語構造なの!]は1のダメージを受けた。
[arrayは言語構造なの!]の攻撃 HIT [arrayは関数だゴルァ!]は169のダメージを受けた。
[arrayは言語構造なの!]が[arrayは関数だゴルァ!]を倒しました(ラウンド数:1)。
34nobodyさん
2008/12/10(水) 22:26:07ID:??? いや、原文があいまい。訳者は責められんと思う。
> Note: array() is a language construct used to represent literal
> arrays, and not a regular function.
> Note: array() is a language construct used to represent literal
> arrays, and not a regular function.
35nobodyさん
2008/12/10(水) 22:34:34ID:??? >>31
関数以外を特殊と言うのであれば
何故issetやemptyあとlist等に通常と言う言葉が無いのさ
arrayだけ別の表現をする意味が無いよね
しかもだ
言語構成要素であり、通常の関数ではありません。
と言語構成要素という言葉があるの通常の関数ではないと
態々関数だけど特殊だよという風な書き方をしている
関数以外を特殊と言うのであれば
何故issetやemptyあとlist等に通常と言う言葉が無いのさ
arrayだけ別の表現をする意味が無いよね
しかもだ
言語構成要素であり、通常の関数ではありません。
と言語構成要素という言葉があるの通常の関数ではないと
態々関数だけど特殊だよという風な書き方をしている
36nobodyさん
2008/12/10(水) 22:35:28ID:???37nobodyさん
2008/12/10(水) 22:40:46ID:???38nobodyさん
2008/12/10(水) 22:45:02ID:??? 顔真っ赤にして
http://pc11.2ch.net/test/read.cgi/php/1226517332/961
を否定してた奴涙目?
961の時点で正解出てるのに土曜日から今までほんとに何やってんだ
http://pc11.2ch.net/test/read.cgi/php/1226517332/961
を否定してた奴涙目?
961の時点で正解出てるのに土曜日から今までほんとに何やってんだ
39nobodyさん
2008/12/10(水) 22:46:02ID:??? 言語構造か関数かは元のソースコードを見て判断するしかないだろ
40nobodyさん
2008/12/10(水) 22:50:47ID:???41nobodyさん
2008/12/10(水) 22:57:43ID:??? だめなのは無知なのに理由もなく一方の主張を崩さず納得しない方だろ
疑問に思うなら自分で調べりゃいいのに
疑問に思うなら自分で調べりゃいいのに
42nobodyさん
2008/12/10(水) 22:59:45ID:???44nobodyさん
2008/12/10(水) 23:01:51ID:??? パーサトークンという言葉を説明すればいいのかと思ってググったが、
PHPマニュアルばかり引っかかって、自分涙目。
弱ったな。どこかに分かりやすい説明ない?(他力本願)
自分はLISPのごく簡単な処理系を作ってみる以外の方法を思いつかないが、
あまりにも非現実的すぎる。
ここで納得してもらうためだけに最低限必要な知識ってなんだろう。
PHPマニュアルばかり引っかかって、自分涙目。
弱ったな。どこかに分かりやすい説明ない?(他力本願)
自分はLISPのごく簡単な処理系を作ってみる以外の方法を思いつかないが、
あまりにも非現実的すぎる。
ここで納得してもらうためだけに最低限必要な知識ってなんだろう。
45nobodyさん
2008/12/10(水) 23:05:31ID:??? さてと、パーサートークンなんてのは傍証に過ぎない。
なぜなら、パーサートークンかつ関数な特殊な関数である可能性を否定できないから。
しかし、おれはもっと確実にわかる方法を知っている。
もう少し、勉強したらいいよ諸君。
なぜなら、パーサートークンかつ関数な特殊な関数である可能性を否定できないから。
しかし、おれはもっと確実にわかる方法を知っている。
もう少し、勉強したらいいよ諸君。
46nobodyさん
2008/12/10(水) 23:08:18ID:??? わかる方法を書いてくれないかな
知ったかなんていらねーんだよ
知ったかなんていらねーんだよ
47nobodyさん
2008/12/10(水) 23:12:55ID:??? >>45
> なぜなら、パーサートークンかつ関数な特殊な関数である可能性を否定できないから。
えー、そういう話なの?
演算子はトークンだけど、実際には関数が割り当てられている、みたいな?
ここで問題になってるのは構文解析で、実装はまた別の話だと思ってたよ。
> しかし、おれはもっと確実にわかる方法を知っている。
> もう少し、勉強したらいいよ諸君。
勉強はがんばりますので、どうか教えてください。
> なぜなら、パーサートークンかつ関数な特殊な関数である可能性を否定できないから。
えー、そういう話なの?
演算子はトークンだけど、実際には関数が割り当てられている、みたいな?
ここで問題になってるのは構文解析で、実装はまた別の話だと思ってたよ。
> しかし、おれはもっと確実にわかる方法を知っている。
> もう少し、勉強したらいいよ諸君。
勉強はがんばりますので、どうか教えてください。
48nobodyさん
2008/12/10(水) 23:24:50ID:??? 構文解析の話に絞ったのは君のハンドリングに過ぎない
45はロジックとして証明にならないといっているだけ
45はロジックとして証明にならないといっているだけ
49nobodyさん
2008/12/10(水) 23:35:07ID:??? システム上のことはコードで確認する。
文理上のことはドキュメントで確認するのが道理。
文理上のことはドキュメントで確認するのが道理。
50nobodyさん
2008/12/10(水) 23:44:02ID:??? 結局のところ、話のレイヤーが違うってことだよな。
ドキュメント上は関数に分類されてて明確に否定されてないので関数であると考えるのが妥当。
ドキュメントはいろんな要件で書かれるからレイヤーの違いを理解できない人がいても仕方ないか。
システム上は判定一つ書けば結論でるしな。あれとか、それとか。
ドキュメント上は関数に分類されてて明確に否定されてないので関数であると考えるのが妥当。
ドキュメントはいろんな要件で書かれるからレイヤーの違いを理解できない人がいても仕方ないか。
システム上は判定一つ書けば結論でるしな。あれとか、それとか。
51nobodyさん
2008/12/10(水) 23:46:15ID:??? 高木さんならわかるんじゃないのかね
52nobodyさん
2008/12/10(水) 23:51:08ID:??? で、システム上はこうよ
try {
ReflectionFunction::export("array");
} catch(Exception $e) {
echo $e->getMessage();
}
try {
ReflectionFunction::export("array");
} catch(Exception $e) {
echo $e->getMessage();
}
53nobodyさん
2008/12/10(水) 23:52:01ID:??? ま、function_existsで調べればtrue falseで返してくれるわけだけど。
55nobodyさん
2008/12/11(木) 00:02:45ID:??? ドキュメントもバグレポート出せば変わるから、
変わったその日から名実ともに関数じゃなくなるだろうね。
しかし、このルーズさというか曖昧さがPHPのいいところ
関数でも式でもないっていったって、言語構造っていったって、
if (include("test.php"))のreturnの扱いとか、特殊としか言いようがない。
変わったその日から名実ともに関数じゃなくなるだろうね。
しかし、このルーズさというか曖昧さがPHPのいいところ
関数でも式でもないっていったって、言語構造っていったって、
if (include("test.php"))のreturnの扱いとか、特殊としか言いようがない。
56nobodyさん
2008/12/11(木) 09:50:56ID:??? めんどくさいから海外のMLとに投稿したり開発元にメールして聞いてみたらいいんじゃないの
57nobodyさん
2008/12/11(木) 10:07:48ID:??? そろそろ結論でたでしょ。
・言語解析上は、array()はT_ARRAYであって、T_FUNCTIONではない。
・一般に関数とは、引数が与えられて一定の結果を返すものという意味では関数
・ドキュメント上では関数に分類されているが、T_FUNCTIONではないという注釈がつく
・パーサートークンの中には式(≒関数)として評価されるものがいくつかある。
・中でもarrayは関数的性質が強い。(副作用が少なく線形写像的)
・よって、ドキュメント上の表記に差異がある。
結論は各自が導きだせばよい
例1)array()は言語解析上は関数ではないが、一般論的には関数に分類される。
例2)array()は広義では関数だが、厳密には関数ではない。
例3)PHPの話をするなら言語解析だけで十分なので関数ではない。
などなど。
事情を分かった上であれば、害はない。
・言語解析上は、array()はT_ARRAYであって、T_FUNCTIONではない。
・一般に関数とは、引数が与えられて一定の結果を返すものという意味では関数
・ドキュメント上では関数に分類されているが、T_FUNCTIONではないという注釈がつく
・パーサートークンの中には式(≒関数)として評価されるものがいくつかある。
・中でもarrayは関数的性質が強い。(副作用が少なく線形写像的)
・よって、ドキュメント上の表記に差異がある。
結論は各自が導きだせばよい
例1)array()は言語解析上は関数ではないが、一般論的には関数に分類される。
例2)array()は広義では関数だが、厳密には関数ではない。
例3)PHPの話をするなら言語解析だけで十分なので関数ではない。
などなど。
事情を分かった上であれば、害はない。
58nobodyさん
2008/12/11(木) 17:25:38ID:??? 答えでてないじゃんあんたは例えだしてるだけでしょ
59nobodyさん
2008/12/11(木) 17:45:58ID:??? お、そうかい?
> 結論は各自が導きだせばよい
結論 = f(事情);
fの定義によって結論が変わるというのがこの現象のすべてで
その例を出せば十分だろう。
> 結論は各自が導きだせばよい
結論 = f(事情);
fの定義によって結論が変わるというのがこの現象のすべてで
その例を出せば十分だろう。
60nobodyさん
2008/12/11(木) 18:23:36ID:??? echoが文字を出力するという結論に代わりがないように
arrayもだせよ
arrayもだせよ
61nobodyさん
2008/12/11(木) 18:32:01ID:??? おいおい
> echoが文字を出力する
それは何の結論なんだよ
> echoが文字を出力する
それは何の結論なんだよ
62nobodyさん
2008/12/11(木) 18:34:06ID:??? 例1 echoは文字を出力する
例2 echoは配列をarrayと出力する
例3 echoはカンマで区切って出力できる
例4 if (echo("hoge")) print("hoge");はパースエラー
例2 echoは配列をarrayと出力する
例3 echoはカンマで区切って出力できる
例4 if (echo("hoge")) print("hoge");はパースエラー
63nobodyさん
2008/12/11(木) 18:35:48ID:??? echo ってカンマ使えたの?
64nobodyさん
2008/12/11(木) 20:23:19ID:??? PHPに文句あるなら、言う相手は開発元のZendだろ?
ここでグダグダ言っても、Zendには声が届かない。
…と思ったが、参考になりました^^
ここでグダグダ言っても、Zendには声が届かない。
…と思ったが、参考になりました^^
65nobodyさん
2008/12/11(木) 20:52:34ID:??? zendって開発元だったの?
スポンサーじゃなかったっけ?
スポンサーじゃなかったっけ?
66nobodyさん
2008/12/11(木) 21:02:47ID:??? perlってオープンソースなの?
perlがオープンソースだから
PHPをカンタンに作れたの?
perlがオープンソースだから
PHPをカンタンに作れたの?
67nobodyさん
2008/12/11(木) 21:12:13ID:??? phpはCからできてますお
68nobodyさん
2008/12/12(金) 06:06:09ID:??? まぁ、PerlがPHPやJSPのようにHTMLソースのインラインで実行できたら、
まぁ、もっと初心者を取り込めたかもしれないねぇ。
まぁ、CPANの仕組みをもう少し落ち着いて考えたらよかったかもねぇ。
まぁ、そうならなくてよかったと思ってるPerlerは多いかもしれないけど、
まぁ、・・・
まぁ、もっと初心者を取り込めたかもしれないねぇ。
まぁ、CPANの仕組みをもう少し落ち着いて考えたらよかったかもねぇ。
まぁ、そうならなくてよかったと思ってるPerlerは多いかもしれないけど、
まぁ、・・・
69nobodyさん
2008/12/12(金) 11:23:10ID:??? なんか詳しい人が多そうなので、聞いてみたいことがある。
PHPって、存在しないプロパティに値を代入すると、その場でプロパティが生ま
れるよね?
php -r '$hoge = new stdClass; $hoge->fuga = "ふがふが\n"; echo $hoge->fuga;'
=> ふがふが
これってPHPマニュアルのどこに書いてあるの?
オーバーロードの説明は読んだ。__set()の説明はあったけど、__set()の中身
が何もないデフォルトの場合の挙動の説明は見つけられなかった。
おかげでずっと、新しいプロパティが生まれていることに気づかなかった。
PHPって、存在しないプロパティに値を代入すると、その場でプロパティが生ま
れるよね?
php -r '$hoge = new stdClass; $hoge->fuga = "ふがふが\n"; echo $hoge->fuga;'
=> ふがふが
これってPHPマニュアルのどこに書いてあるの?
オーバーロードの説明は読んだ。__set()の説明はあったけど、__set()の中身
が何もないデフォルトの場合の挙動の説明は見つけられなかった。
おかげでずっと、新しいプロパティが生まれていることに気づかなかった。
71nobodyさん
2008/12/12(金) 14:39:12ID:??? >>70
くだ質にはちょっと前に同じ質問がされてたんだよ。しかし回答はなかった。
たぶんPHPマニュアルには載ってないんだろう。
この辺の挙動を知っておかないとオーバーロードは理解できないのに、PHPマニュ
アルには載ってないんだとしたら、詳しい人たちはどうやってこれを知って理
解したのか聞きたいんだよ。
ちなみにPHPマニュアルのページ下のコメント欄みたいなところには載ってた。
しかしあそこはホントに玉石混交で、あそこにだけ載ってても意味ないだろ。
くだ質にはちょっと前に同じ質問がされてたんだよ。しかし回答はなかった。
たぶんPHPマニュアルには載ってないんだろう。
この辺の挙動を知っておかないとオーバーロードは理解できないのに、PHPマニュ
アルには載ってないんだとしたら、詳しい人たちはどうやってこれを知って理
解したのか聞きたいんだよ。
ちなみにPHPマニュアルのページ下のコメント欄みたいなところには載ってた。
しかしあそこはホントに玉石混交で、あそこにだけ載ってても意味ないだろ。
レスを投稿する