| 4D v20.1Copy parameters | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v20.1
 Copy parameters 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copy parameters {( startFrom )} -> 戻り値 | ||||||||
| 引数 | 型 | 説明 | ||||||
| startFrom | 倍長整数 |   | 開始インデックス(指定した引数含む) | |||||
| 戻り値 | コレクション |   | 実際に渡された引数を格納した新しいコレクション | |||||
Copy parameters コマンドは、メソッドまたは関数に実際に渡された全ての引数を格納したコレクションを返します。このコマンドはある関数またはメソッドから、また別の関数またはメソッドへと、不定数の引数を転送したい場合に有用です。
最初に引数に応じて呼び出す関数を変え、その関数へと2番目以降の引数を渡す場合を考えます:
 Function selectTask($task Text)
 Case of
    :($task="Task1")
       This.task1(Copy parameters(2))
    :($task="Task2")
       This.task2(Copy parameters(2))
 End caseまたは、別のオブジェクトに対して他の関数を apply() で呼び出し、引数を渡す場合を考えます:
 Function doSomething($param Text;$extraParameters Variant)
 This.delegate.doSomething.apply(This.delegate;Copy parameters)コマンドはコレクションを返すため、 .join() と組み合わせて使用することで例えば html リストをビルドすることができます:
  // Class
 
 Function list($typeText)->Text
  //リストのタイプは"u" または "o"
 var $value : Collection
 $value:=Copy parameters(2)
 $html:="<"+$type+"l><li>"
 $html+=$value.join("</li><li>")
 $html+="</li></"+$type+"l>"
 return$html
 
  // 呼び出しMethod
 
 $htmlList:=$c.list("u";"Alpha";"Bravo";"Charlie")
  // $htmlList = <ul><li>Alpha</li><li>Bravo</li><li>Charlie</li></ul>
	プロダクト: 4D
	テーマ: ランゲージ
	番号: 
        1790
        
        
        
	
	初出: 4D v19 R5
	
	
	
	
	ランゲージリファレンス ( 4D v20)
	
	ランゲージリファレンス ( 4D v20.1)
	
	
 コメントを追加
コメントを追加