• ベストアンサー

プログラミングの返り値戻り値は必ずreturn文と

プログラミングの返り値戻り値は必ずreturn文とセットで使うんですか? returnがない時は返り値戻り値は使えないですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.5

これまでの他の質問を見ていて気になっていたところですが、初心者の段階では「プログラミングの」で質問を始めるのはやめて、「PHPの」や「Pythonの」のように勉強中の言語に限定して、その言語のカテゴリーで質問したほうがいいと思います。 と言うのは、戻り値を表すのにreturnを使わないプログラミング言語もあるからです。プログラミング初心者に「この言語の場合はこうだけど、他の言語の場合はやり方が違う」という回答をしても混乱するだけです。 以下、PHPの場合の話です。 関数内でreturn 式;と書くことによってその式の値が関数の戻り値になります。returnを使わずに関数の戻り値を示すことはできません。 戻り値を持たない関数の場合は式なしでreturn;と書きます。または、関数内の最後の文まで実行したらその時点で式なしのreturn;と同じ効果になります。

okwaveokw
質問者

お礼

おっしゃるとおりで混乱しまくってます

その他の回答 (7)

  • f272
  • ベストアンサー率46% (8469/18132)
回答No.8

そんなものは言語仕様によります。 どの言語にも通用する一般的なことを聞きたいのでなければ,しっかりと言語を指定して質問するようにしてください。

okwaveokw
質問者

お礼

ありがとうございます

回答No.7

複数のグローバルな変数を戻り値に使うことはあるな。 昔のBASICの変数は全部グローバルじゃなかったっけ?すげー昔だなあこれ。

okwaveokw
質問者

お礼

ありがとうございます

  • agehage
  • ベストアンサー率22% (2753/12076)
回答No.6

return で返すものを戻り値といいますのでreturnがないと戻り値を使えません*1 ただ関数の結果をreturnでない方法で返すことのできる言語もあります C言語などはポインタを操作することで関数の結果を得ることができます *1すごく曲解ですけど間違っている考えではないので突っ込まないで

okwaveokw
質問者

お礼

ありがとうございます

  • asciiz
  • ベストアンサー率70% (6803/9674)
回答No.4

「大概の言語仕様では」 return (戻す値); として、戻り値を指定することが多いです。 でも言語によっては、 関数名 := (戻す値); return; #または省略 と、関数名への代入形式で返り値を指定する言語もあります。 ですからその辺の書き方は、「使用する言語による」としか言えません。 C言語・java・PHP・JavaScriptなんかは、言語は違いますけど、「retuan (戻す値)」というパターンですね。 でもこれはたまたま、書き方が同じというだけなのです。 全世界すべての言語で、その様に定義されているわけではありません。

okwaveokw
質問者

お礼

ありがとうございます

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.3

return 命令の引数として戻り値を渡すプログラミング言語が一般的ですね。 return 命令を実行しなければ戻り値を指定する方法がありません。 変則的な方法としては関数の引数を参照渡しにして、その引数に値を入れて関数の処理を終えれば、呼出元で値を受け取ることが出来ますが、あまり美しい仕様とは言えませんね。

okwaveokw
質問者

お礼

ありがとうございます

  • watanabe04
  • ベストアンサー率18% (295/1598)
回答No.2

>returnなしでは戻れません。 嘘を書きました。 呼び出された関数の終わりの行まで来ると自動的に戻ります。

okwaveokw
質問者

お礼

ありがとうございます

  • watanabe04
  • ベストアンサー率18% (295/1598)
回答No.1

returnは呼び出し元にもどれ。という命令なので、 returnなしでは戻れません。 戻り値をreturnとともに使うのではなくて、 returnに戻り値をつけるのです。

okwaveokw
質問者

お礼

ご回答ありがとうございます こちらの動画では、リターンありの場合と無しの場合と分けているんですが なしの場合でも戻れるということですかね? https://www.youtube.com/watch?v=Oygc-zY64K8

関連するQ&A