• ベストアンサー

AS3の戻り値

AS3の戻り値の使い方が理解できないので教えて下さい。 戻り値が引数の結果を戻すというのはこのサイトで分かりました。 理解できないのは以下です。 1.voidとreturnの違い。 2.戻った値の使い所。 特に2番ですがこのサイトの説明では戻り値の色々な答えの例で、引数「牛乳」が戻り値「イチゴ」に変わるという感じの例が結構ありますがそれでどうなるのか、どうなるのかが知りたいです。

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

  • ベストアンサー
回答No.2

それでどうなるかはプログラマ自身が決めることなんですが... 初心者が言語仕様だけを追っかけると、 おっしゃるような本末転倒な疑問に陥ってしまいます。 問い合わせに対して結果がほしい という場合に戻り値を使用するのですが、 そもそも、AS3で何をしたいか...という目的がなければ ピンと来ないのは仕方ないです。 たとえば、仮に「時刻」を得るFunctionを考えてみましょう function get_time_desu():String{ var now:Date = new Date(); return "現在、" + now + "です。" } これは、「現在、[時刻]です。」というString型を返してくれます もっと複雑に日本語表記にする機能も追加して良いでしょう。 そして、このFunctionは何度でも利用でき、 長いプログラムのどこで何度呼び出しても同じ結果が得られるでしょう。 このような「オブジェクト指向」の良いところは 再利用性とメンテナンス性だとも言えますし、 複雑な結果をひとまとまりにして、簡単に呼び出せる事です。 その結果を一定時間ごとにTextFieldで表示すれば「時計」になります。 サーバに送信して利用してもよいでしょう。 使いどころは、目的によるでしょう。 なにわともあれ、 何か作ってみることをお勧めします。 「計算機」などがよくスタディとされます。

ten123456789
質問者

補足

function get_time_desu():String{ var now:Date = new Date(); return "現在、" + now + "です。" } 上記の説明を読んで理解できました。 何か作ってみようと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • an631
  • ベストアンサー率82% (28/34)
回答No.1

voidは、retrunで返す値がない場合に指定します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Java戻り値について

    Javaの戻り値がいまいちよくわかりません。 引数については理解できているのですが、戻り値の「値が戻る?」という表現がよくわからないのです。 もっと言うと、引数との違いがこれまたよくわかりません。 先輩方、お暇な時にでも教えてください。 宜しくお願いします。

    • ベストアンサー
    • Java
  • VBAでの戻り値と引数について

    最近VBAでプログラムを勉強しています。 引数と戻り値について教えてください。 定義としては、 引数:プロシージャに渡される定数、変数、および式。 戻り値:呼び出し元に処理の結果を戻す値。 となっているのですがいまいちピンときません。 SubプロシージャとFunctionプロシージャでその違いがあると思うのですが、具体的にどれが引数でどれが戻り値なのかわかりません。 他のプログラミングも全く経験がない初心者で初歩的な質問ですみませんがご教授お願いします。

  • 戻り値を返す関数の前に(void)を付ける

    今日会社で 変数 = (void)戻り値のある関数 #具体的な例としては下記一例を参照 と、ソースで書かれているものがあったのですが、 コメント等では、 「戻り値を明示しないときに(void)を付けて使用する」 と、書いてあります。 戻り値のある関数の前で(void)を付けると、戻り値が明示されなくなるのでしょうか?? または、このような動作にはならないのでしょうか。 自分自身、ソースの内容をうる覚えになっておりますので、 確認をしながらアップしていきたいと思いますので、 宜しくお願い致します。 /*一例*/ ・num1とnum2を足した値を返す int PlusPoint(int num1 , num2); ・PlusPointの値を格納する int Sum ◇ソース◆ #include <stdio.h> #include "Plus.h" int main(void) { int Sum; Sum = (void)PlusPoint; if(Sum == 2) { printf("false"); exit(0); } printf("true"); return 0; } *PlusPoint関数は外部で定義されている *プロトタイプ宣言はPlus.hに定義されいるものとする

  • 引数と戻り値がわかりません

    Javaを勉強中なのですが、引数と戻り値がよく分かりません。 自分で買ったテキストをベースに進めているのですが、ここで詰まってしまいます。 具体的に表現するのが難しいのですが、値がどこに行ってどういう流れになっているのかが 自分で追えず混乱してます。 public static method X (String name){ return name; ↑こういう記述です。 「値をとってくる」、「呼び出し元へ値を返す」という事が分かってないのだと思います。 まだまだ知識が覚束ないのでわかりにくいかもしれませんが、 ご教授願います。

  • 戻り値を使う問題について

    <問題> 以下のクラスを作成せよ。 「mainメソッド」 1)Aisatuクラスのオブジェクト作成。 2)Aisatuクラスのohayouメソッドを呼び出し、  戻り値を取得して表示する。 3)Aisatuクラスのkonnitiwaメソッドを呼び出し、  戻り値を取得して表示する。 4)Aisatuクラスのkonbanwaメソッドを呼び出し、  戻り値を取得して表示する。 「Aisatuメソッド」 ohayouメソッド ・「おはようございます」という文字列を戻り値とする。 ・「こんにちは」という文字列を戻り値とする。 ・「こんばんは」という文字列を戻り値とする。 <実行結果> おはようございます こんにちは こんばんは ************************************************************ 上記の質問についてのプログラムなんですが、いまいちクラスとか メソッドとかよく分からなくて、ちゃんと実行できません。 コンパイルは通るのですが、実行しようとすると、 java.lang.NoSuchMethodError のエラーが出てしまいます。 メソッドが見つからないということでしょうか? 間違っているところを教えて下さい。 よろしくお願いします。 class Aisatu { private String oha; private String koni; private String koba; public String aiOhayou(String o) { oha = o; return oha; } public String aiKonnitiwa(String n) { koni = n; return koni; } public String aiKonbanwa(String b) { koba = b; return koba; } } class Greet02 { public static void main(String args[]) { Aisatu as = new Aisatu(); as.aiOhayou("おはようございます"); String ohayou = as.aiOhayou("おはようございます"); System.out.println(ohayou); as.aiKonnitiwa("こんにちは"); String konnitiwa = as.aiKonnitiwa("こんにちは"); System.out.println(konnitiwa); as.aiKonbanwa("こんばんは"); String konbanwa = as.aiKonbanwa("こんばんは"); System.out.println(konbanwa); } }

    • ベストアンサー
    • Java
  • C++の複数戻り値について

    質問の閲覧ありがとうございます。 C++をはじめたばかりで勉強中のみなのですが どうしてもうまくいかない壁にぶつかってしまったので 是非お力を貸していただきたく、質問させていただきました。 C++にて課題を出されていまして、それを実現するのに ある関数に対し引数を複数渡し、戻り値を複数得たいのですが 下記のようなコードで、(実際は戻り値、引数がもっと多くなる 想定なのでreturnでは足りないです) 単純に、mainのa2の引数を"参照渡し"としtestにて代入した文字列を mainで再度受け取る、といったことを試しているのですが、うまくいかず このような形では実現不可能なのでしょうか? (文字列の代入をstrcpyに、charの宣言時に要素数を指定したりせずに) #include<iostream> using namespace std; void test(char* a2); int main() { char a2; test(&a2); cout << a2 << endl; } void test(char* a2) { a2="TEST_MESSEAGE1"; } 素人丸出しな内容で申し訳ないですが、ネット上の色々なサンプル等 で試してみても、理解がうまく得られませんでした。。。 ポインタ等の理解が浅いのもあるのかと思いますが。 ぜひご教授よろしくお願いいたします。

  • void func( void )について

    void func( void )について 右側のvoidは引数がないという事は分かったのですが左側の voidの意味は「値を返さないreturn型に用いる」とあったのですが 値を返さないreturnは使う意味はあるのでしょうか? またどういった時に使うのでしょうか?? あと return 0 と return の違いは何なのでしょうか?? ご教授よろしくお願いいたします。

  • main関数の戻り値

    C言語のmain関数の戻り値はint型ですよね。 私もそういう決まりだと思って守ってきました。 しかし、「mainが戻り値を返すって、どこに返すの?」ということが、私は理解できていません。 私が調べたところでは、「ホスト実行環境」という言葉がこの問題に関係あるようですが、この言葉の意味はよくわからないですし、似た言葉で「ホスト環境」ということばがあるのですが意味も関係もわかりません。 これらは、OSとは違うと思うんですが、自信はありません。 それでも、ない知識を振り絞っていろいろ考えてみると、次のようなことらしいのですが、正しいでしょうか。 ・OSはプログラムの実行に先立ちホスト実行環境を作る。 ・静的記憶域のオブジェクトを初期化するのはホスト実行環境である。 ・関数が、main関数を呼ぶことは可能である。(以下では、main関数が関数から呼ばれる場合は除く。) ・main関数を呼ぶのは、ホスト実行環境が行なう。 ・main関数の中のreturnによってプログラムが終了するのと、exit関数でプログラムが終了することに違いはない。 ・main関数の戻り値は、ホスト実行環境に返される。 ・returnによってホスト実行環境に返される値は、int型である限りなんでもよい。 ・exitによってホスト実行環境に返される値は、int型である限りなんでもよい。 ・必ずexitで値が返されるならば、main関数の中にreturnはなくてもよい。 main関数からの戻り値をどうしようと構わないんだと思うんですが、皆さんの経験の中で、実例としてこういうふうに使われる、というのは何かないのでしょうか。 (ホスト実行環境に値が返される、といっても無視するのでは意味はないと思うのです。 その値の使用例としては、 0が返ってくると「プログラムは正常終了しました。」と表示するとか、0以外の値が返されると別のプログラムが走るとか、 そういうことだと思うんですが。)

  • メッセージボックス関数の「戻り値」って?(Access2000)

    Access初心者です。 今、自分で勉強しているのですが、メッセージボックス関数の「戻り値」がよくわかりません。 引数の<msg>,<type>,<title>はそれぞれ理解ができたのですが、 戻り値の内容(1「OK」)というのは、何に対しての値なのでしょうか?? ヘルプも見ましたが、私にはさっぱりです。 どなたか簡単にご説明お願いします。

  • 関数の戻り値がextern

    C言語を、他人のプログラム例を見ながら勉強を始めた者です。 ----- abc.h ----- extern char aaa(); (1) extern char bbb(); (2) ----- abc.c ----- char aaa() { char sw; (3) } char bbb() { char sw; return sw; (4) } Q1. (1)(2)は戻り値が外部変数ということでよいのでしょうか? YESとすれば(4)で自動変数のswが戻り値になっているのは何故でしょうか? Q2. (3)のbbb()では戻り値がvoidではないのに return文がないのは何故でしょうか? 初心者なので質問自体が変だったらスミマセン。