約 692,830 件
https://w.atwiki.jp/movedog/pages/26.html
デリゲート(delegate)とは? 関数ポインタや関数オブジェクトをオブジェクト指向に適するように拡張したもの。 用途は、関数ポインタとほぼ同じ。ただし、インスタンスメソッドを参照したり、 複数のメソッドを同時に参照する事が出来る。 ポイント C# では、メソッドも他の型と同じように扱えます(変数に代入して使ったり、他のメソッドの引数や戻り値にしたりできる)。 デリゲート: メソッドを代入するための変数の型。 例: delegate int DelegateName(int x, int y); なぜアドレスで呼び出すのか? ●アドレスを使うと、目的のインスタンスのメソッドを確実に渡すことが出来るから。 ●流れは・・・。 メインスレッドは、別スレッドからのコールバックが欲しい。 そのためには、別スレッドへここへ通知しなさいという情報を渡す必要がある。 このために使われるのが、通知すべきメソッドのアドレスとなる。 ●メソッドの名前を渡す方法も考えられるが、以下の問題がある。 別スレッドを作成したメインスレッドも複数のインスタンスを持っている可能性が有る。 名前を渡す場合は何らかの方法でインスタンスを区別しなければならない。 アドレスは複数のインスタンスが有ってもインスタンス毎に異なる。 デリゲートを使用するためには? ①デリゲート型を定義します。 delegate 戻り値の型 デリゲート型名(引数リスト); ユーザ定義のクラスや構造体と同じ1つの“型”として扱われる。 デリゲート型は自動的に System.Delegate クラスの派生クラスになる。 C#1.1までは、newが必要だった。 例 SomeDelegate a = new SomeDelegate(A); static void A(int n) { } C#2.0からは、メソッドからデリゲートへの暗黙の変換が出来るようになった。 例 SomeDelegate a = A; static void A(int n) { } デリゲートの機能 ①メソッドを参照し、 間接的なメソッド呼び出しを行うことができる。 ②インスタンスメソッドの代入 →デリゲートにはクラス(static)メソッドとインスタンス(非static)メソッドのどちらでも代入する事が出来る。 ③複数のメソッドを代入 using System; /// summary /// メッセージを表示するだけのデリゲート /// /summary delegate void ShowMessage(); class Person { string name; public Person(string name){this.name = name;} public void ShowName(){Console.Write("名前 {0}\n", this.name);} }; class DelegateTest { static void Main() { Person p = new Person("鬼丸美輝"); // インスタンスメソッドを代入。 ShowMessage show = new ShowMessage(p.ShowName); show(); } } 結果:名前 鬼丸美輝 ④複数のメソッドを代入(マルチキャストデリゲート) デリゲートには += 演算子を用いることで、複数のメソッドを代入する事が出来る。 複数のメソッドを代入した状態で、デリゲート呼び出しを行うと、代入した全てのメソッドが呼び出される。 using System; /// summary /// メッセージを表示するだけのデリゲート /// /summary delegate void ShowMessage(); class DelegateTest { static void Main() { ShowMessage a = new ShowMessage(A); a += new ShowMessage(B); a += new ShowMessage(C); a(); } static void A(){Console.Write("A が呼ばれました。\n");} static void B(){Console.Write("B が呼ばれました。\n");} static void C(){Console.Write("C が呼ばれました。\n");} } 結果: A が呼ばれました。 B が呼ばれました。 C が呼ばれました。 ⑤クラスメソッドとインスタンスメソッドを混ぜて、複数のメソッドを代入することも出来る。 ⑥デリゲート呼び出しは非同期にできる。 デリゲート型を定義すると、 C# コンパイラによって自動的に BeginInvoke と EndInvoke というメソッドが生成される。 BeginInvoke を用いることにより非同期呼び出しを開始し、EndInvoke を用いることにより非同期処理の終了を待つ事が出来る。 BeginInvoke デリゲート型の定義時に引数リストで指定した引数と、System.AsyncCallback デリゲート型の引数および object 型の引数をとり、System.IAsyncResult インターフェース型の値を返します。 →IAsyncResult BeginInvoke(int n, ref int p, out int q, AsyncCallback callback, object state); EndInvoke デリゲート型の定義時に ref または out キーワードを付けた引数および System.IAsyncResult インターフェース型の引数を持ち、デリゲートの戻り値と同じ型の戻り値を持ちます。 例えば、delegate int ShowMessage(int n, ref int p, out int q); というデリゲート型を定義した場合、以下のようなメソッド定義になります。 →int EndInvoke(ref int p, out int q, IAsyncResult ar); using System; using System.Threading; namespace A { /// summary /// メッセージを表示するだけのデリゲート /// /summary public delegate void ShowMessage(int n); public class DelegateTest { static void Main() { const int N = 6; ShowMessage asyncCall = new ShowMessage(AsynchronousMethod); // asyncCall を非同期で呼び出す。 IAsyncResult ar = asyncCall.BeginInvoke(N, null, null); // ↓この部分は asyncCall によって呼び出されるメソッドと同時に実行されます。 for(int i=0; i N; ++i) { Thread.Sleep(600); Console.Write("Main ({0})\n", i); } // asyncCall の処理が終わるのを待つ。 asyncCall.EndInvoke(ar); Console.Write(" 処理完了\n"); } static void AsynchronousMethod(int n) { for(int i=0; i n; ++i) { Thread.Sleep(1000); Console.Write("AsynchronousMethod ({0})\n", i); } } static void B(IAsyncResult ar){} } } ●結果: Main (0) AsynchronousMethod (0) Main (1) Main (2) AsynchronousMethod (1) Main (3) Main (4) AsynchronousMethod (2) Main (5) AsynchronousMethod (3) AsynchronousMethod (4) AsynchronousMethod (5) 処理完了 匿名メソッド ※C#2.0から導入 ●C# 1.1 デリゲートを使う際には、まず最初にどこかでメソッドを定義し、 その定義したメソッドを参照する必要があった。 そのメソッドを1度きりしか使わない場合でも、必ずどこかで定義する必要がある。 ●C#2.0 デリゲートを渡すものと期待される任意の箇所に、 直接、名前のないメソッドを記述できる仕組みが搭載された。 この機能を匿名メソッドと呼びます。 new Predicate(IsOver10)と書いていた部分 ↓ delegate(int n){ return n 10; } と、IsOver10 の中身そのものが書ける。 匿名メソッドとは、このような、delegate キーワードから始めて、メソッドの中身を任意の箇所に埋め込んだ部分のことを指します。 書式:delegate (引数リスト){ メソッド定義 } ●C#3.0 匿名メソッドをさらに簡単に書けるようになった(ラムダ式) C#2.0 delegate(int n){ return n 10; } ↓ C#3.0 (int n) = { return n 10; } デリゲートのプロトタイプ宣言 デリゲートは単にクラスのインスタンスのメソドのアドレスを保持するだけではなく、引数と返値の受け渡しも行なう。 ●処理としては・・・ ①デリゲートのプロトタイプ宣言を行う。 目的のメソッドのアドレスを保持することが出来るデリゲートクラスは、 必ずそのメソッドと同じ戻り値や引数を設定できる方法で宣言する。 ②コンパイラはプロトタイプを見る。 デリゲートが目的のメソドの引数や戻り値にマッチしているか否かを確認し安全性を保障する。 デリゲートの実際例 delegate void dlgWriteString(string msg); ※文字列を引数に取り返値を取らないデリゲートのクラスの宣言である(プロトタイプ) このデリゲートクラスは同じ引数を持ち同じ返値を持つメソッドであればどの様なメソッドで有ってもその参照(アドレス)を保持できる。 Action T FrameWorkには既定の宣言(既に行われている)が有る。 =Action T 1つの引数 戻り値が無い デリゲートが宣言されている。 ※Action T =FrameWork2.0以上で使用できる。 例:Action string wm = new Action string (ws.WriteMessage); これにより、 delegate void dlgWriteString(string msg); は必要なくなる。 デリゲートと匿名メソッド using System; using System.Collections.Generic; using System.Text; namespace DlegateTest { delegate void dlgWriteString(string msg); delegate void dlgAwrite(); //デリゲートで呼ばれるメソドを持つクラス class WriteToScreen { //デリゲートで呼ばれるメソド public void WriteMessage(string msg) { Console.WriteLine(msg); } } class Program { static void Main(string[] args) { string msg = "Hello World!"; //これはデリゲートとは関係無い普通の呼び出し WriteToScreen ws = new WriteToScreen(); ws.WriteMessage(msg); //デリゲートのインスタンスを作成して //WriteToScreenの WriteMessageの //インスタンスのアドレスを登録する dlgWriteString dws = new dlgWriteString(ws.WriteMessage); //デリゲートの呼び出し dws(msg); //FrameWorkで宣言済みのActionデリゲートを使う Action string wm = new Action string (ws.WriteMessage); wm(msg); //匿名メソドを使用したデリゲート dlgAwrite da = delegate() {Console.WriteLine(msg);}; da(); } } }
https://w.atwiki.jp/nopu/pages/196.html
#include iostream #include unistd.h using namespace std; int main( int argc, char **argv ) { int opt; while( (opt = getopt(argc, argv, abx y )) != -1 ) 3つめの引数でオプション文字を指定。引数付きはコロンを付ける。 switch (opt) { case a cout a endl; break; case b cout b endl; break; case x cout x optarg endl; break; 引数は自動的に optarg に格納される case y cout y optarg endl; break; default cout usage ... endl; } while( optind argc ) cout option argv[ optind++ ] endl; オプション無しのデータはすべてのオプション文字を処理後に行う。optindはargvのインデックス return 0; }
https://w.atwiki.jp/suffix/pages/485.html
文字列を辞書式の順序で比較する: strcmp 例:strcmp("sample","test"); 返り値 = 0 → 同じ文字, 返り値 0 → 1つ目の引数は2つ目の引数より小さい, 返り値 0 → 1つ目の引数は2つ目の引数より大きい ワイルドカードなどを含む場合の文字列比較は http //katsura-kotonoha.sakura.ne.jp/prog/c/tip00003.shtmlを参考に。 文字列を連結: strcat 例:strcat("sample","s"); 返り値:1つ目の引数+2つ目の引数。この場合samples 文字列から文字列を探す: strstr 例:strstr("sample","am"); 返り値:2つ目の引数に指定した文字が最初にあらわれたポインタを返す。上記の場合、"ample"の最初のポインタに 相当する。 文字列の長さ: strlen 例:strlen("sample"); 返り値:文字列の長さを返す。上記の場合6が返り値。CとかC++みたいに\0は考慮した気がするが気のせいだったようだw 文字列表現を返す:(キャスト等も参照のこと) itoa 例:char test[10]; int n = 777; itoa(n,test,10); 返り値:int型である引数の文字列表現が返る。つまり"777"みたいなもの。 sprintf 例:char test[10]; int n = 777; sprintf(test,"%d",n); 返り値:int型である引数の文字列表現が返る。つまり"777"みたいなもの。 文字列を分割する: strtok 例:char *tok; char sample[] = "sample"; char test[] = "am"; tok = strtok(sample,test); while(tok != NULL) { puts(tok); tok = strtok(NULL,test); } 返り値:分割された文字列。上記の場合、sとpleが標準出力に出力される。 文字列の一部を切り取る: javaのsubstringに相当する標準関数はCには無い。 そこで、strncpyやsprintf等で代用する。 例:char sample[] = "sample"; char test[3]; strncpy(test,sample+3,3); 返り値:strncpyでsampleのアドレスをずらしてコピーされた文字。上記の場合ple。 文字列をコピーする: strcpy,strncpy 例:sample[] = "abcd"; strcpy(sample,"test"); 返り値:第2引数で指定されたポインタ。上記の場合、sample変数には"test"という文字が入る。 備考: strcpy_s,strncpy_sを推奨するエラーがよく出るが、strcpy,strncpyとは微妙に振る舞いが違うらしい。 また、バッファサイズを超えたときに無効となってしまうため、 char buf[5]; strncpy_s(buf,5,"5mojiijou",5); はNULL終端文字を格納できないため、無効エラーとなる。 したがって、strncpy_s(buf,5,"5mojiijou",4)とするか、strncpy_s(buf,5,"5mojiijou",_TRUNCATE); と切り捨て処理をしなければならない。
https://w.atwiki.jp/hear_br0wn/pages/31.html
●関数と引数 引数を指定した関数の呼び出し ・関数 function 関数(引数){ 処理 } ・呼び出し イベントハンドラ = "関数(引数)" ※呼び出しの"関数(引数)"で代入された引数の値を、function 関数(引数)に引数に引き渡し、処理を行う。 再度"関数(引数)"に戻し、表示する。 【引数の記述】 数値の場合はそのまま ⇒例:abc(s) 文字の場合は「 」(シングルクォーテーション)でくくる 例:abc( 富士山 ) 例: ~ script language="javascript" function abc(s){ var a = s * 3; alert(a); } /script ~ body button onclick = "abc(5)" 計算結果 /button /body 以下のように表示、 計算結果というボタンを押すと、ポップアップで「15」と表示される。 ※これは、 ①abc(5)の5がfunction abc(s)に引き渡され、s = 5と代入される。 ②関数で処理が行われa = 15となり、「alertで15を表示するという命令」ができる。 ③「alertで15を表示するという命令」が、イベントハンドラから呼び出され、onclick(ボタンを押したら実行)のタイミングで処理される。 【複数の引数を指定する場合】 「,」(カンマ)で区切る 関数 function 関数(引数a,引数b,引数c){ 処理 } 呼び出し イベントハンドラ = "関数(引数a,引数b,引数c)" 例: ~ var kakaku; function zeiG(name,kakaku){ zeikomi= kakaku * 1.05; alert(name + "の税込価格は" + zeikomi + "円"); } ~ ~ ・商品A(1000円) button onclick = "zeiG( 商品A ,1000)" 税込価格は /button ~ 以下のように表示、 alertのポップアップで「商品Aの税込価格は1050円」と表示される
https://w.atwiki.jp/sevenlives/pages/711.html
引数 読み:ひきすう 英語:argument 別名:パラメータ 意味: 引数とはプログラミング言語において関数やサブルーチンと呼ばれる処理に渡される値のこと。 呼び方は「いんすう」ではなく「ひきすう」。 言語によっては値をそのまま渡すものと参照渡しなど様々。 型に厳しい言語では型を指定され、それ以外の型を受け付けないようにしているものもある。 UNIX系のコマンドなどのパラメータのことも引数と呼ばれる。 2010年03月05日 仮引数 実引数? オプション引数 関数
https://w.atwiki.jp/nozick/pages/12.html
Microsoftが開発したオブジェクト指向プログラミング言語。 WindowsアプリケーションやXBox360やPSVitaの開発が可能。 .NETFramework 名前空間 エントリーポイント 完全修飾名 変数 データ型 decimal型 論理型 文字型 C#のデータ型 WriteLine関数 フォーマット指定子 if文 switch文 foreach文 オブジェクト型 is演算子 as演算子 文字列型 配列 多次元配列 ジャグ配列 クラス インデクサ 継承 インタフェース 構造体 ファイル入出力 Windowsフォームアプリケーション イベント .NETFramework Microsoftが開発した実行環境 Windowsに共通プログラミングモデルを提供 名前空間 using Systemと記述されている場合、 Systemという名前空間を使用していることを表す。 エントリーポイント Main関数から開始される 完全修飾名 定義した名前が所属する名前空間をその都度記述する。 System.Console.WriteLine("HW"); 変数 予約語は使えない。 使える文字はアルファベット・アンダースコア・2byte文字。 データ型 値型:実際の値を保持 参照型:アドレスを保持 decimal型 ビット長128bitで小数点以下28桁まで正確に表示できる。 値を代入する時は数値の後にMをつける。 decimal num = 100.0M; 論理型 Booleanかbool。 trueかfalseを取る。 bool = false; 文字型 unicode文字を格納する型。(Char型) 1文字をシングルクォーテーション( )で囲む。 直接文字コードを書いてもいい。 C#のデータ型 値型は構造体で作られている。 MaxValue・・・その型の最大値を表す。 MinValue・・・その型の最小型を表す。 Parse・・・・文字列をそのデータ型にして返す。 WriteLine関数 引数で受け取ったデータを画面に出力する 末尾に自動で改行コードが追加する。 Console.WriteLine("ABC" + 100 + 1.0 + a ); 改行コードが自動的に追加されないWrite関数もある フォーマット指定子 Cのprintf関数にある変換指定のような記述が可能。 Console.WriteLine("num1={0}、num2={1}", num1, num2); if文 条件式はbool型の値を返す必要がある。 switch文 各case文の最後にbreakが書かれていないとエラーになる。 default文も同様である。 つまり、そのまま下にある次の処理に進まない。 これを「フォールスル―の禁止規則」という。 foreach文 先頭から末尾までの処理ループを簡単に行える foreach(データ型 変数名 in コレクション){} int[] num = new int[]{10, 10};foreath(int list in num){ Console.WriteLine(list);} オブジェクト型 どんな値でも代入出来る。 object obj; 値ではなく参照を保持している。 値型からオブジェクト型に変換することを「ボックス化」という。(参照型の代入はこれに含まれない) オブジェクト型を値型に直す場合は同じ型でキャストする。これを「ボックス化解除」という。 is演算子 参照型の値が指定した型であるか判定する。 trueかfalse。 object obj = 10; obj is int; as演算子 参照型の値を指定した型でキャストする。 キャストに失敗するとnull。 object obj = 10; string str; str = obj as string; 文字列型 Stringクラスで表す。 Length・・・文字列の長さを返す CompareTo・・・比較する IndexOf・・・検索する Copy・・・コピーする 配列 データ型[] 配列名 = new データ型[要素]; 添字で上限や下限を1でも超えると実行時エラーになる。 多次元配列 データ型[] 配列名 = new データ型[要素数,要素数]; ジャグ配列 多次元配列の長さを可変にする。 int[][] list = new int[2][]; // 行数指定 int[0] = new int[2]; int[1] = new int[3]; クラス class クラス名{ アクセス指定子 データ型 変数名; // 変数宣言 // 関数宣言 アクセス指定子 戻り値型 関数名(引数) { 処理; } } メンバ一つ一つにアクセス指定子を設定。 クラスは参照型なので必ずオブジェクトを生成(new)する。 コンストラクタは生成時に1度だけ呼ばれる。 デストラクタはガベージコレクションで破棄されるタイミングで呼ばれる。 refは本来関数の引数がコピーされた値を渡す所をそのまま与え書き換える事を可能とする。 outは参照を渡す時に初期値を設定したくない時に使う。 可変長引数は関数に渡す引数の数を動的に決める。 静的メンバとクラスは宣言時に実体が生成されオブジェクトを作成しなくてもクラス内からアクセス出来る。 プロパティとは変数の値を設定・取得する機能。(get{} set{}) インデクサ メンバ変数の配列をクラスの配列のように扱える。 型 this [インデックスの型 インデックス名]{ get{}} 継承 あるクラスを引き継ぎ、新しいクラスを作る。 名前の隠蔽 +... 派生先メンバが呼び出され、基本クラスのメンバが隠蔽される。 基本クラスのメンバを使用したい場合はbaseキーワードを付ける。 抽象クラス +... 派生先で定義してほしい関数などを記述する。 クラスの前にabstractキーワード 継承不可能にする +... sealedキーワードを付ける クラスを分割定義する +... クラスの前にpartialキーワードを付ける。 ※同一クラス内でも分割可。意味は無いが。 インタフェース 抽象クラスのみのクラスが定義される。 宣言:interface インタフェース名 使用:class クラス名 ; 基本クラス名, インタフェース 構造体 構造体は値型。 継承不可。(インタフェース可) 初期化子使用不可。 コンストラクタは引数無しでは定義不可。 デフォルトコンストラクタはメンバを0で初期化する。 デストラクタは定義不可。 staticを付けると静的メンバになり、クラス名からアクセス可。 ファイル入出力 バイトベース +... [バイトベースの読み書き] FileStreamクラスを使用する。 FileStream(string filename, FileMode mode) オープンモード FileMode.Create:ファイル新規作成。同名ファイル存在時上書き。 FileMode.Open:同名ファイルを開く。 FileMode.Create:ファイル存在時は開き、なければ新規。 FileMode.Append:追加書き込みで開く。 読込・書込専用にする場合、別のコンストラクタを使用。 FileStream(string filename, FileMode mode, FileAccess how) アクセスモード FileAccess.Read:読込専用 FileAccess.Write:書込専用 FileAccess.ReadWrite:両用 ReadByte関数 int ReadByte() ファイルから1バイト読み込む。 WriteByte関数 void WriteByte(byte b) ファイルに1バイト書き込む close関数 void close() ファイルを閉じる 文字ベース +... [文字ベースの読み書き] StreamReader・StreamWriterを使う。FileStreamのラッパーライブラリ StreamWriter(string filename, bool appendFlag) appendFlagにtrueの場合、追加書き込み指定。 StreamReader(string path) Write関数 void Write(string value) 引数で受け取ったデータを文字列として書き込む オーバーロードされていてさまざまな型の値を文字列にして書き込める。 WriteLine関数 void WriteLine(string format, object arg0) 引数で受け取ったデータを文字列として書き込む。 自動的に改行コードが追加される。 Read関数 int Read() ファイルから1文字読み込んで返す。 ReadWrite関数 ―string ReadLine() ファイルから1行読み込んで返す。 Windowsフォームアプリケーション Application.Run関数 メッセージループで開始して引数で渡されたフォームを表示する。 イベント クリックされた、キーが入力された等の挙動 イベント駆動式 フォームアプリケーションはイベント等が発生すると 対応するプログラムが実行される。 イベントハンドラ イベントが発生した時に呼び出される関数。
https://w.atwiki.jp/phptest/pages/13.html
エスケープシーケンス は極力このページには書かない。ただしクォーテーションなど例外がある。 Java 文字の型は char。リテラルは でくるむ。 char a = A ; char d = " ; 文字列の型は String 。"" でくるむ。 String str = "This is String."; ダブルクォーテーションはエスケープシーケンスで。 String h = "Say \"Hello.\""; 文字列接続は + だが、処理ステップ数を軽減する場合は StringBuffer の利用が望ましい。 PHP PHPもjavaと同じく "" を使います。 ?php echo "こんにちは世界!"; ? では変数名もそのまま出力されます。エスケープシークエンスを使っても同じです。 echo 12345\n67890 ; //「12345\n67890」 と表示される PHPにて文字列を連結するには「.」を使用します $name = 佐藤 ; print $name. さん。こんにちは。 ; //佐藤さん。こんにちは。 javascript javascriptには文字型がなく、すべてStringの様に文字列とみなされます。 javaとほとんど同じでリテラルを "" や で覆いエスケープシークエンスには\を使います。 "" の中では を の中では"をそれぞれ使えます。 javascriptでの文字列の結合は配列に格納する方法と+=を使った文字連結の二種類がある。 配列を使った例 var arrHOGE = new Array(); // 文字を入れる配列 arrHOGE.push( 明日は ); // 配列に arrHOGE.push( きっと ); // 収めて arrHOGE.push( 晴れる ); // いくよ var strFUGA = arrHOGE.join( ); // 配列の中身を連結 alert(strFUGA); // 「明日はきっと晴れる」 のダイアログ "+=" での文字の連結の例 var strHOGE = new String(); // 文字を入れる変数 strHOGE += 明日は ; // 連結 strHOGE += きっと ; // して strHOGE += 晴れる ; // いくよ alert(strHOGE); // 「明日はきっと晴れる」 のダイアログ さらなる詳細は地潜の日記に。 参照 初めてのJava入門 Stringbuffer とほほのjavaScriptカンファレンス PHPBook.jp
https://w.atwiki.jp/my-sql/pages/39.html
HOME 関数 文字列関数 FIND_IN_SET FIND_IN_SET FIND_IN_SET(str,strlist) N 個の部分文字列で構成されるリスト strlist に、文字列 str が含まれている場合は、1 から N までのいずれかの値を返す。文字列のリストは、それぞれの間を ‘,’ 文字で区切られた各部分文字列で構成される文字列である。最初の引数が定数文字列で、2 番目の引数が SET 型のカラムの場合、FIND_IN_SET() 関数はビット演算を使用するよう最適化される。 str が strlist に含まれていない場合や、strlist が空の文字列の場合は、0 を返す。どちらの引数も NULL の場合は、NULL を返す。 最初の引数にカンマ ‘,’ が含まれていると、この関数は正しく動作しない。 mysql SELECT FIND_IN_SET( b , a,b,c,d ); - 2
https://w.atwiki.jp/cla2/pages/12.html
V字型 該当フィールド クラウス山脈、デスパイア山麓 崖登りポイント [G 4]
https://w.atwiki.jp/fumiduki1985/pages/55.html
以下の2点のように記述することで、引数を参照渡しできる。 function(又はfn)によって関数を定義する際の仮引数名の頭に「 」を付ける。 関数の呼び出し時に関数に渡す変数の頭に「 」を付ける。 関数内で参照渡しされた引数に値を代入する場合、通常通りの代入文を書けばよい。 参照渡しした引数に値を代入すると、関数呼び出し時に渡した変数の値が変更される。 記述例: function testFunc arg = ( -- argは参照渡しするため「 」を付ける。 arg = 20 -- 参照渡しされた引数へ代入 ) a = 0 testFunc a -- aは参照渡しするため「 」を付ける。aの値は関数内で代入され20となる。 このページのタグ一覧 3dsMax MAXScript プログラミング