- ベストアンサー
プログラミングの返り値戻り値は必ずreturn文と
プログラミングの返り値戻り値は必ずreturn文とセットで使うんですか? returnがない時は返り値戻り値は使えないですか?
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
これまでの他の質問を見ていて気になっていたところですが、初心者の段階では「プログラミングの」で質問を始めるのはやめて、「PHPの」や「Pythonの」のように勉強中の言語に限定して、その言語のカテゴリーで質問したほうがいいと思います。 と言うのは、戻り値を表すのにreturnを使わないプログラミング言語もあるからです。プログラミング初心者に「この言語の場合はこうだけど、他の言語の場合はやり方が違う」という回答をしても混乱するだけです。 以下、PHPの場合の話です。 関数内でreturn 式;と書くことによってその式の値が関数の戻り値になります。returnを使わずに関数の戻り値を示すことはできません。 戻り値を持たない関数の場合は式なしでreturn;と書きます。または、関数内の最後の文まで実行したらその時点で式なしのreturn;と同じ効果になります。
その他の回答 (7)
- f272
- ベストアンサー率46% (8469/18132)
そんなものは言語仕様によります。 どの言語にも通用する一般的なことを聞きたいのでなければ,しっかりと言語を指定して質問するようにしてください。
お礼
ありがとうございます
- m5048172715
- ベストアンサー率16% (860/5261)
複数のグローバルな変数を戻り値に使うことはあるな。 昔のBASICの変数は全部グローバルじゃなかったっけ?すげー昔だなあこれ。
お礼
ありがとうございます
- agehage
- ベストアンサー率22% (2753/12076)
return で返すものを戻り値といいますのでreturnがないと戻り値を使えません*1 ただ関数の結果をreturnでない方法で返すことのできる言語もあります C言語などはポインタを操作することで関数の結果を得ることができます *1すごく曲解ですけど間違っている考えではないので突っ込まないで
お礼
ありがとうございます
- asciiz
- ベストアンサー率70% (6803/9674)
「大概の言語仕様では」 return (戻す値); として、戻り値を指定することが多いです。 でも言語によっては、 関数名 := (戻す値); return; #または省略 と、関数名への代入形式で返り値を指定する言語もあります。 ですからその辺の書き方は、「使用する言語による」としか言えません。 C言語・java・PHP・JavaScriptなんかは、言語は違いますけど、「retuan (戻す値)」というパターンですね。 でもこれはたまたま、書き方が同じというだけなのです。 全世界すべての言語で、その様に定義されているわけではありません。
お礼
ありがとうございます
- t_ohta
- ベストアンサー率38% (5238/13705)
return 命令の引数として戻り値を渡すプログラミング言語が一般的ですね。 return 命令を実行しなければ戻り値を指定する方法がありません。 変則的な方法としては関数の引数を参照渡しにして、その引数に値を入れて関数の処理を終えれば、呼出元で値を受け取ることが出来ますが、あまり美しい仕様とは言えませんね。
お礼
ありがとうございます
- watanabe04
- ベストアンサー率18% (295/1598)
>returnなしでは戻れません。 嘘を書きました。 呼び出された関数の終わりの行まで来ると自動的に戻ります。
お礼
ありがとうございます
- watanabe04
- ベストアンサー率18% (295/1598)
returnは呼び出し元にもどれ。という命令なので、 returnなしでは戻れません。 戻り値をreturnとともに使うのではなくて、 returnに戻り値をつけるのです。
お礼
ご回答ありがとうございます こちらの動画では、リターンありの場合と無しの場合と分けているんですが なしの場合でも戻れるということですかね? https://www.youtube.com/watch?v=Oygc-zY64K8
お礼
おっしゃるとおりで混乱しまくってます