• ベストアンサー

プログラミングのreturnというのは関数なんです

プログラミングのreturnというのは関数なんですか? この画像で。 戻り値?

  • PHP
  • 回答数6
  • ありがとう数6

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

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1522/2216)
回答No.6

>たまにhogeというのを見るんですがどういう意味ですか? 意味のある変数名や関数名を考えるのが面倒なときによく使われる文字列です。したがって、特に意味はありません。 hoge以外にもfuga・piyo、英語圏ではfoo・barなどがこの目的でよく使われます。 参考:ウィキペディアの「メタ構文変数」のページ https://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%BF%E6%A7%8B%E6%96%87%E5%A4%89%E6%95%B0

okwaveokw
質問者

お礼

すごく勉強になりました

その他の回答 (5)

回答No.5

>Continueも途中で抜けますよね?同じ意味ですか? これは、ループ制御の先頭に戻るという意味で 抜けるわけではないです、むしろ続くという意味で 命令としては真逆です。 画面の命令を基準に見てると、その後が実行なんたら・・・ してないじゃないか~なんたら。。と 「続いている」感がでないでしょう。 そうじゃなくて、命令一つ一つに順番を脳みそで 振ってみてください。 今この命令、次この命令って、順を追っていく =これを、トレースと言います。 そうすれば、continueが抜けるとどころか続いていく様子が 脳内でシュミレーションされるはずです。 しかし、returnは、その時点でその関数を終了してしまいます。

okwaveokw
質問者

お礼

ありがとうございます

回答No.4

ある処理をする一連の手続きが、その手続きを 呼び出した元に「結果報告」するのがreturn文で、関数ではないです。 (return文が省略されても、ある処理の結果は真偽値として  呼び出し元に返されます) 関数もreturnを返しますが、プログラム自体も それを呼び出したシェルに「結果報告」します。 return以外にも、参照できる引数や、大域変数などで 呼び出し元はある処理と会話できますが、 呼び出し元の指定に関わらず、自分独自の報告が 明示・暗示にかかわらずreturnによってなされます。 それをどう扱うか、無視するか・・などは 呼び出し元が勝手に決めますが。 設計上処理を細分化することが必要な場合は多々ありますが、 その細分化した処理の間で情報伝達する方法の1つに過ぎません。

okwaveokw
質問者

お礼

ありがとうございます

  • GENESIS
  • ベストアンサー率42% (1104/2588)
回答No.3

returnは戻ると言う意味です。使い方は言語により変わるかも知れませんが…。 メインルーチンから呼び出されたサブルーチンが、指定された処理をおこおなった後、無条件あるいは条件によってサブルーチンの処理を終了し、メインルーチンへ戻るための命令です。コールされたサブルーチンの次行へ戻る様に設定されています(言語によっては次行ではなく指定できたものもあった様な記憶が…)。 何も指定しないでreturnを記述すればただ戻るだけですが、値を与えれば戻り値となります。例えば return(x) と言う様に、x は実数であったり、変数を記入します。これはC言語の記述例ですが、言語により記述方法は異なります。

okwaveokw
質問者

お礼

ありがとうございます

回答No.2

>returnを書くのと書かないのでどう変わるんでしょうか? return は、そこで、その関数を抜けるという意味もあります。 function hoge( 何か ) { 処理 処理 return; 処理 ここ以降は実行されない。 処理 } という使い方もあります。 なので、 if ($a==3) return; と、条件を満たしたら。そこで関数から戻る という使い方もあります。 return の後に変数や数値がある場合は $a=hoge( 何か ); と、値を受け取るためにも使えますよ。

okwaveokw
質問者

お礼

たまにhogeというのを見るんですがどういう意味ですか?昔hogehoge速報というまとめがありました Continueも途中で抜けますよね?同じ意味ですか?

回答No.1

あ~ ちょうどもう一個の質問で私が関数っぽく書いてますもんね! たしかになぜか、 return ( 何か? ); とカッコをつけることもできるんです。 なのですが、分類としては、書式だと思ってもらえたらと思います。 IFとかFORの仲間のような、ビルトイン(内蔵された) 命令の書式と思ってOKです。 https://www.php.net/manual/ja/function.return.php オフィシャルサイトでは、 「注意: return は関数ではなく言語構造であるため、 引数を括弧で囲う必要はなく、括弧の使用は推奨されないことに注意しましょう。」 と記載があり、関数ではなく、言語構造であると はっきり書かれています。 このサイト覚えてもらえたらよいかと! そもそも、PHPのすべてがここに記載されてますので。 絶対参考になりますので!

okwaveokw
質問者

お礼

returnを書くのと書かないのでどう変わるんでしょうか?

関連するQ&A

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

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

  • 複数関数からの戻り値returnの指定

    いつもお世話になります。 ActionScrip3に関する質問です。 処理1が終わった段階で戻り値をreturnするという処理を 作成したく下記のように作りました。 流れとしては、関数func1の中に複数の処理があると仮定して、その一連の処理を完了させた 時点でevent.complete(処理完了)によりfunc2に移動し、func2から戻り値の値を 指定したいと考えております。 下記の処理を行ってもfunc1の中でreturnを指定していないので「関数は戻り値をかえしません」 というエラーになってしまいますが、下記の処理以外でも結構ですので、 「一定の処理完了後に戻り値(return)を発生」させる手段をご教授いただけないでしょうか? お手数ではありますが、何卒宜しくお願いいたします。 var bln:Boolean; bln = func1(); function func1():Boolean {  // ここに複数の処理があると仮定する  // 終了後イベント  addEventListener(event.COMPLETE, finish);    function finish() {   return false;  } }

    • ベストアンサー
    • Flash
  • C言語 関数の戻り値について

    C言語で関数を作る場合に最後にreturnで戻り値を設定しますよね? 自分はあまりそれがわかりません。 関数で出た答えを返すって言うのはわかるんですが、 returnが無くても大丈夫だったりreturnはあってもその後に戻り値を設定していなかったり。 何故returnがなくても動作するのでしょうか? 何故returnまであるのに戻り値は設定されていないのか? 教えてください。

  • main関数の戻り値について

    c言語において、main関数の戻り値は何を意味しているのですか。 また、void型にすれば、main関数の戻り値を書かなくても問題無いでしょうか。 また、関数はreturn文を書かなくても、最後まで処理を実行すると終了するらしいですが、void型にすれば、main関数でreturn文を書かなくても問題無いでしょうか。

  • JavaScriptのreturnについて教えて

    ■Q1 ・JavaScriptで「return」に何も指定しなかった場合、戻り値は何でしょうか? ・「return false」とは意味が異なるでしょうか? ・「return true」と同じ意味? ■Q2 ・「それ以降の処理を中止したい」という意図で使用する場合、「return」も「return false」も同じ結果となるでしょうか? ・違うのは、戻り値だけ? ■Q3 ・「return false」と「returnを記述しない」では何が違うでしょうか? ■Q4 ・「イベントのバブリング」は、「戻り値の有無」とは関係がない話でしょうか? ■Q5 ・「return false」が適用されるのは「onclick」だけ? それとも「イベント全般」? ■Q6 ・イベントが絡まない箇所で、「return false」を使用することはない?

  • 関数の返り値について。

    関数が返す値ってreturnで返しますよね? 今回作っている関数はは返す値がHTMLで 複数行にわたる物なんです。 つまりreturnの後ろに戻り値をズラズラ連ねていくと、 非常に使いづらいんです。 解決法って無いでしょうか?

    • ベストアンサー
    • PHP
  • プログラミング(関数reverseを作る)

    プログラミングの勉強会で文字列を反転させる関数(例:ABCDE→EDCBA)を作れという課題が出たのですが、以下のように書いたきり進みません。あと、何を書けばいいのでしょうか?教えてください。 #include <stdio.h> void reverse(char *); void reverse2(char *); void main(){ char buf[10]; printf("str :"); fgets(buf, 10, stdin); reverse(buf); printf("rev :%s", buf); return; } //文字列を反転させる関数 void reverse(char *s){ return; }

  • 関数を呼び出すとき、最後にreturn 0を入れる

    関数を呼び出すとき、最後にreturn 0を入れる訳はなんですか? 例えば、ボタンなど。 <input [省略] onclick="alert();return 0;"> returnが無くても、普通に実行できます。 alert(mail(5)); function mail(num){ num = num + 1 ; return num; } これを実行すると、『6』と警告が出ます。 この場合のreturnは理解できます。 return 0、return false、は何のためにありますか? また、無いと何か問題がありますか?

  • return文

    return文で、下記のような書き方を見つけたのですが、 これはどういう戻り値になるんですか? return(a == b); a・bは共にint型の変数です。

    • ベストアンサー
    • Java
  • 関数から戻り値を得る方法について

    知り合いの方から関数の戻り値をえるときにreturn以外に例えば File(&i,&k);←関数呼び出し int File(int **j, double *k)←関数 {      ~      ~ } とやると(double *k)は関数からの出力として、呼び出しているFile(&i,&k)の(&k)に返されると聞きました。しかも、戻り値はint File()のintに依存しないと言われて試してみたのですが、どうもうまくいきません。 正しいやり方知っている方いましたら、教えて下さい。あと複数戻り値を返したいときはどうすればいいんでしょうか?

専門家に質問してみよう