約 6,421 件
https://w.atwiki.jp/kazu51ww/pages/10.html
argument 『引数』は【関数】や【サブルーチン】を利用する時に、 関数やサブルーチンに対して ・動作条件を指定する ・処理結果を受け取る という為に使うものです。機能的にはこれだけです。 例え話で説明してみますと。 サブルーチン:八百屋へお使いを頼んだ子供 処理内容 :お買い物 引数1 :買い物リスト 引数2 :サイフ 引数3 :買い物かご 単に「八百屋へ行ってきて」では子供も何を買ってくればいいのか判りませんよね。 そこで「買い物リスト」に”大根1本”と書いて持たせてやります。 買い物にはお金が要りますから「サイフ」に”千円”を入れて持たせてやります。 買った物を裸で持ってくるのはなんですから、「買い物かご」も持たせましょう。 『さあ、いってらっしゃい』と子供を送り出すのが【サブルーチンの実行】に相当します。 『サブルーチン:子供のお使い』は八百屋さんに着くと、引数『買い物リスト』に書いてある ”大根1本”と引数『サイフ』に入っている”千円”で買い物をします。 八百屋さんは、大根とお釣りをくれたので、大根を引数『買い物かご』に入れ、お釣りを 引数『サイフ』に戻します。 ^^^^ 『サブルーチン:子供のお使い』は家に帰ってくると、引数『買い物かご』から大根を、 引数『サイフ』からお釣りをお母さんに渡します。 このように、引数には、使い方によって ・値を渡すだけ ‥‥‥‥‥‥ 買い物リスト ・値を受け取るだけ ‥‥‥‥ 買い物かご ・値を渡す&値を受け取る‥‥ サイフ の3種類があります。 また引数には【属性】があります。 「買い物リスト」の属性は”大根1本”などの【八百屋さんで売っている物】 「サイフ」の属性は【お金】 「買い物かご」の属性は【買った物を入れる】 「買い物リスト」に”ビール”と書いたり、「サイフ」に”葉っぱ”を入れて 子供を八百屋さんに送り出しても買い物は出来ませんよね。 引数には、その属性に合った値を設定しなければ、正しく動作しません。 『エラーが有ります』というメッセージを表示してExcelに怒られてしまいます。 子供が八百屋さんに怒られて、「買い物できないよ。どうする?」と お母さんに電話するのに相当します。
https://w.atwiki.jp/sevenlives/pages/711.html
引数 読み:ひきすう 英語:argument 別名:パラメータ 意味: 引数とはプログラミング言語において関数やサブルーチンと呼ばれる処理に渡される値のこと。 呼び方は「いんすう」ではなく「ひきすう」。 言語によっては値をそのまま渡すものと参照渡しなど様々。 型に厳しい言語では型を指定され、それ以外の型を受け付けないようにしているものもある。 UNIX系のコマンドなどのパラメータのことも引数と呼ばれる。 2010年03月05日 仮引数 実引数? オプション引数 関数
https://w.atwiki.jp/sevenlives/pages/712.html
仮引数 読み:かりひきすう 英語:formal parameter 別名: 意味: 仮引数とは関数やサブルーチンの宣言側に指定される引数のこと。 関数名の後ろに「(」と「)」の中に書かれ、引数の数や型が指定される。 実態は変数であり、型に厳しい言語では型指定がある。 2007年11月04日 引数
https://w.atwiki.jp/bokuyo/pages/94.html
可変長引数 いま読み返すと、この記事の適当さ加減がやばい。 Cでの実装 #include iostream #include stdarg.h int unco(int renton, ...) { va_list list;//va_list型は stdarg.h で定義されてる va_start(list, renton);//可変長引数の要素を扱い始めるためのva_start()マクロ int eureka = va_arg(list, int);//リストの次の要素を取り出す。popとかdequeueみたいな感じ。 while(eureka != 0) { renton += eureka; eureka = va_arg(list, int); } va_end(list);//可変長引数の要素を扱い終わるためのva_endマクロ return renton; } int main() { std cout unco(1, 5, 6, 0, 7, 7, 8, -4, 9, 156) std endl; return 0; } なんか上手く使った気がしないけど…。1+5+6を足して、0を引数に取るとループを抜ける。 0を引数に取らないと無限ループしかねないソース。 マクロの中身を見てみたけど吐き気したからもう当分見る気ない。 ちなみにC++だと cstdarg をインクルードすればおっけー。 va_start(), va_arg(), va_end()マクロの中身をC++っぽく置き換えると template typename T void vaStart(va_list ap, T v) { ap = (va_list)( reinterpret_cast const char (v)) + ((sizeof(v) + sizeof(int) - 1) ~(sizeof(int) - 1)); } template typename T T vaArg(va_list ap)//使い方は vaArg int (list)みたいな。 { return ( *(T *)((ap += ((sizeof(T) + sizeof(int) - 1) ~(sizeof(int) - 1))) - ((sizeof(T) + sizeof(int) - 1) ~(sizeof(int) - 1))) ); } void vaEnd(va_list ap) { ap = (va_list)0; } VC++2010の環境だとこんな感じ。そのままマクロを置き換えただけだけど…。 CにはC++みたくジェネリックプログラミングができないから仕方なしにマクロで書いてる部分もあるだろうと…。マクロを書き直したからってそれがC++に通用するとは思えないから このCライクな stdarg.h の可変長引数を使うのなら、マクロのままでいいかなーって思う。 そもそもC++だったらもっとかっこいい可変長引数をとる関数がかける…はず。きっとね。 やってることはリスト操作。 もし注目するなら、「reinterpret_cast」かな。あんまり見かけないからこの際知っとくのもいいかなって。
https://w.atwiki.jp/hks2/pages/19.html
"..." で与えられた引数の処理 fun - function(x, ...) { args - list(...) if (is.null(arg.aaa - args[["arg.aaa"]] ### 引数 arg.aaa を与えなかったとき ### arg.aaa - default.value (......) } fun(x=1) fun(x=1, arg.aaa="abc") 参照 R
https://w.atwiki.jp/steelwind/pages/28.html
可変引数 printfのように可変個引数のデータに書式を付ける方法は下記のとおり。 #include stdio.h /* vprintf */ #include stdarg.h /* va_list, va_start, va_end */ void func(char *format, ...) { char buf[1024]; va_list p; va_start(p, format); vsprintf(buf, format, p); va_end(p); }
https://w.atwiki.jp/sevenlives/pages/2169.html
可変長引数?
https://w.atwiki.jp/sevenlives/pages/2479.html
可変長引数? 引数 関数
https://w.atwiki.jp/fieds_labo3/pages/59.html
基本 引数 クラス、メソッドに渡す引数は値が入る。(いわゆる値渡し) JFrame1からJFrame2を表示し、JFrame2で設定・変更した内容をJFrame1で参照する場合は 以下のようにする。 public class fm1 extends javax.swing.JFrame { class Global { int val1; Global { val1 = 0; } void setval1(int i){ val1 = i; } int getval1(){ return val1; } } Global g = new Global(); ...略... private void botton1MouseClicked(java.awt.event.MouseEvent evt) { new fm2(g).setVisible(true); } } public class fm2 extends javax.swing.JFrame { private fm1.Global g2; public fm2() { initComponents(); } public fm2(fm1.Global g1) { g2 = g1; } ...略... private void buttonclosedMouseClicked(java.awt.event.MouseEvent evt) { g2.setval1(99); this.dispose(); } }
https://w.atwiki.jp/air-lang/pages/29.html
整数 ARGC と 整数 ARGS ARGC には、コマンド名自身を含むコマンドライン引数の数(整数値)がセットされます。ARGS には、shift()可能なコマンドライン引数の数(整数値)がセットされます。(初期値は ARGC-1 ですが、 shift()ファミリ関数実行時に値が調整されます。) ARGC と ARGS を表示します。 print("ARGC=%d,ARGS=%d\n",ARGC,ARGS) str=shift() # コマンドライン引数を取得します。 print("ARGC=%d,ARGS=%d\n",ARGC,ARGS) 配列 ARGV[] ARGV[] には、コマンド名自身を含むコマンドライン引数(文字列)がセットされます。 ARGV[] の全要素を表示します。 for(i=0;i ARGC;i++){ # 0 から ARGC-1 までループします。 print("値=%s\n",ARGV[i]) # ARGV[i] は文字列です。 } 関数 shift() 関数 shift() は、呼び出される度に次のコマンドライン引数(文字列)を順番に戻します。戻すべきコマンドライン引数が無い場合は、引数で指定されたデフォルト値、又は、NULL が戻されます。 コマンドライン引数より2つのパラメータを取得します。 if( ARGC!=3 ){ # 引数の数を確認します。 eprint("Usage ${CMD} p1 p2\n") # 使用方法を表示します。${CMD}はコマンド名に置換されます。 exit(0) } p1=shift() # 第1コマンドライン引数を変数 p1 へセットします。(文字列) p2=shift() # 第2コマンドライン引数を変数 p2 へセットします。(文字列) コマンドライン引数より1つのパラメータ(ファイル名)を取得します。ただし、何も指定されなかった場合は、標準入力 STDIN をセットするものとします。 if( ARGC!=1 ARGC!=2 ){ # 引数の数を確認します。 eprint("Usage ${CMD} [file]\n") # 使用方法を表示します。${CMD}はコマンド名に置換されます。 exit(0) } file=shift(STDIN) # コマンドライン引数(又は、STDIN)を変数 file へセットします。