アカウント名:
パスワード:
「戻り値」が「return value」の一般的な訳語かと思っていたけど、PHPでは違うんでスカイノ。
#PHPは入門書の数ページしか読んでいない(「当座数年内の私の業務には関係ない」と悟った)ので、#見当はずれだった(「戻り値」とは概念の異なる用語として扱われているなど)らすまない
PHP以外でも「返り値」って表記はよく見かけるので、特に違和感はない。
# 自分で書くときは「戻り値」だけど。
その手の表記揺れは訳語には憑き物だし、自分でもチョイチョイ間違えるのでそんなに違和感ない。文句があるなら、常に英語表記した方が安全だと思う。
エレクチオンし終わったのかどうかが気になる
それは英語表記じゃ無くてカタカナ表記じゃね。#カタカナ表記の表記揺れも結構大変だったりする。
ごめん、ベタなのにわらったwwwなんでマイナスモデなんだよw
I'm comingみたいに主体の差だからぜんぜん許容範囲
言われるまで気にしたこともなかったですが、PHPのリファレンスだと確かに「返り値 [php.net]」となってますな。
仕事でそれなりの規模があるアプリをPHPで開発しているので、型が宣言できるようになるのは非常に助かります。引数が数値だったり文字列だったり、はたまたobjectを返すかと思ったらfalseを返してたり、PHPしかやってない人のソースはわけわからんわ・・・。
> 引数が数値だったり文字列だったり、引数の型を変える方は、静的型付けなJavaやC++とかでも「関数のオーバーロード」がありますので、PHPが特殊というわけでもないでしょう。
> はたまたobjectを返すかと思ったらfalseを返してたり、PHPしかやってない人のソースはわけわからん
こっちはPHPなどの動的型付け言語に特有な話ですが、それは利用者の問題ではないでしょう。PHPの組み込み関数レベルで、「エラー時はfalseを返す」ような仕様はあふれてますよ。状況に応じて返り値の型を変えられる、というのは動的型付け言語の醍醐味といっていいんじゃないかと思います。
とはいえ、PHP組み込みのstrpos(文字列検索関数)などのような「見つかった時は、見つけた位置(0オリジン)を返す」「見つからなかった時はfalseを返す」という設計仕様が、PHPの「false == 0」が真になるという言語仕様とあいまって、「if (strpos(…) != false) {」って記述だと「0桁目で見つかっても見つからなかったことになる」から「そういう時は型チェックを厳密に行う === / !== を使え」ってことになるわけですが。
PHPは「手軽さ」を売りにしつつ「手軽に使おうとすると罠にはまる」というひどい言語になっちゃってるんだよねぇ…
# 0 と false と null に別の意味を持たせて使い分けるハメになった時は、ちょっと後悔しました。
プログラムってのはなぁ、ハックアンドスラッシュなんだよ。真っ赤に染まってコードを書くんだ。
PHPコードのデバッグもディアブロも、両方とも時間泥棒だしな。
私はまさに『「値を戻す」「値が戻る」って言わないだろ?』って理屈で、返値で通してる。// 送り仮名まで省略しちゃってるな。
戻り値の方が正直意味が分からないのは気のせい?値そのものは戻りも返りもしていないんだぜ。
返り値だったらまだ「返答」なのかなってのがあるんだけど。
一番適切なのは「応答値」とかなんじゃねえのかなーって個人的な脳内では思ってる。
返却値じゃないかの。
正直、引数経由で返すのも、returnで返すのも戻り値/返り値には違いないので面倒だよねぇ。術語としては、関数の返値といえば引数ではなくreturn返却値のことなのだけど、日本語表現としては曖昧よね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
返り血? (スコア:1)
「戻り値」が「return value」の一般的な訳語かと思っていたけど、PHPでは違うんでスカイノ。
#PHPは入門書の数ページしか読んでいない(「当座数年内の私の業務には関係ない」と悟った)ので、
#見当はずれだった(「戻り値」とは概念の異なる用語として扱われているなど)らすまない
Re: (スコア:0)
PHP以外でも「返り値」って表記はよく見かけるので、特に違和感はない。
# 自分で書くときは「戻り値」だけど。
Re: (スコア:0)
その手の表記揺れは訳語には憑き物だし、自分でもチョイチョイ間違えるのでそんなに違和感ない。
文句があるなら、常に英語表記した方が安全だと思う。
Re: (スコア:0)
エレクチオンし終わったのかどうかが気になる
Re: (スコア:0)
それは英語表記じゃ無くてカタカナ表記じゃね。
#カタカナ表記の表記揺れも結構大変だったりする。
Re: (スコア:0)
ごめん、ベタなのにわらったwww
なんでマイナスモデなんだよw
Re: (スコア:0)
I'm comingみたいに主体の差だからぜんぜん許容範囲
Re: (スコア:0)
言われるまで気にしたこともなかったですが、PHPのリファレンスだと確かに「返り値 [php.net]」となってますな。
仕事でそれなりの規模があるアプリをPHPで開発しているので、型が宣言できるようになるのは非常に助かります。
引数が数値だったり文字列だったり、はたまたobjectを返すかと思ったらfalseを返してたり、PHPしかやってない人のソースはわけわからんわ・・・。
Re:返り血? (スコア:3, 興味深い)
> 引数が数値だったり文字列だったり、
引数の型を変える方は、静的型付けなJavaやC++とかでも「関数のオーバーロード」がありますので、PHPが特殊というわけでもないでしょう。
> はたまたobjectを返すかと思ったらfalseを返してたり、PHPしかやってない人のソースはわけわからん
こっちはPHPなどの動的型付け言語に特有な話ですが、それは利用者の問題ではないでしょう。PHPの組み込み関数レベルで、「エラー時はfalseを返す」ような仕様はあふれてますよ。
状況に応じて返り値の型を変えられる、というのは動的型付け言語の醍醐味といっていいんじゃないかと思います。
とはいえ、PHP組み込みのstrpos(文字列検索関数)などのような「見つかった時は、見つけた位置(0オリジン)を返す」「見つからなかった時はfalseを返す」という設計仕様が、
PHPの「false == 0」が真になるという言語仕様とあいまって、「if (strpos(…) != false) {」って記述だと「0桁目で見つかっても見つからなかったことになる」から「そういう時は型チェックを厳密に行う === / !== を使え」ってことになるわけですが。
PHPは「手軽さ」を売りにしつつ「手軽に使おうとすると罠にはまる」というひどい言語になっちゃってるんだよねぇ…
# 0 と false と null に別の意味を持たせて使い分けるハメになった時は、ちょっと後悔しました。
Re: (スコア:0)
プログラムってのはなぁ、ハックアンドスラッシュなんだよ。
真っ赤に染まってコードを書くんだ。
Re: (スコア:0)
PHPコードのデバッグもディアブロも、両方とも時間泥棒だしな。
Re: (スコア:0)
メソッドの説明書いてるときは、「結果としてxxを返す」「xxが返る」と書くな。
「xxが戻る」とはほとんど書いたことない気がする。
だからか、返り値でもそんなに違和感はない。
※ 個人の感想です
Re: (スコア:0)
私はまさに『「値を戻す」「値が戻る」って言わないだろ?』って理屈で、返値で通してる。
// 送り仮名まで省略しちゃってるな。
Re: (スコア:0)
戻り値の方が正直意味が分からないのは気のせい?
値そのものは戻りも返りもしていないんだぜ。
返り値だったらまだ「返答」なのかなってのがあるんだけど。
一番適切なのは「応答値」とかなんじゃねえのかなーって個人的な脳内では思ってる。
Re: (スコア:0)
返却値じゃないかの。
正直、引数経由で返すのも、returnで返すのも戻り値/返り値には違いないので面倒だよねぇ。
術語としては、関数の返値といえば引数ではなくreturn返却値のことなのだけど、日本語表現としては曖昧よね。