R 引數傳遞函式 getopt

2021-08-31 03:27:56 字數 1145 閱讀 9428

getopt(),是getopt包的函式,需要先按照getopt包

getopt(spec = null, opt = commandargs(true),command = get_rscript_filename(), usage = false,debug = false)

spec:乙個4或5列的矩陣,裡面包括了引數資訊,前四列是必須的,第五列可選。

第一列:引數的longname,多個字元。

第二列:引數的shortname,乙個字元。

第三列:引數是必須的,還是可選的,數字:0代表不接引數 ;1代表必須有引數;2代表引數可選。

第四列:引數的型別。logical;integer;double;complex;character;numeric

第五列:注釋資訊,可選。

usage:預設為false,這時引數無實際意義,而是以用法的形式輸出。

#!/usr/bin/rscript

# _*_ coding: utf-8 _*_

library('getopt')

command=matrix(c(

'help', 'h', 0,'loical', '幫助文件',

'pdfinput', 'i', 2, 'character', '判斷值的結果',

'noloutput', 'o', 1, 'character', '標準化的判斷值的結果'),byrow=t,ncol=5)

args=getopt(command)

if (!is.null(args$help) || is.null(args$pdfinput) || is.null(args$noloutput) )

## 設定預設值

#if ( is.null(args$pdfinput) )

print(args$pdfinput)

$ rscript  t.r -h

usage: t.r [-[-help|h]] [-[-pdfinput|i] ] [-[-noloutput|o] ]

-h|--help 幫助文件

-i|--pdfinput 判斷值的結果

-o|--noloutput 標準化的判斷值的結果

參考:

c 傳遞函式引數

傳遞普通函式和類的成員函式方式不同,原因是傳遞函式引數實際傳的是函式的位址,但是普通函式和成員函式的位址獲取方式不太相同。普通函式只要傳遞乙個函式名稱即可,但是成員函式在類的內部中沒有位址,選擇乙個成員函式就意味著得知道該函式在類中的偏移量,因此需要知道該物件和對應的偏移量,才能得到真實的位址。當然...

用引用傳遞函式引數

1 引用傳遞引數 傳遞引用給函式與傳遞指標的效果一樣,傳遞的是原來的變數或物件,而不是在函式作用域內建立變數或物件的副本。在8 6節中,我們看到對swap int,int 傳值方式函式的呼叫不影響呼叫函式中的實參,結果並未達到交換資料的預想目的。使用指標傳遞方式的swap int int 函式的呼叫...

如何傳遞函式

摘自 非同步 庫提供了一些函式,這些函式使您可以在元件之間傳遞訊息。這些訊息傳遞函式與各種訊息塊型別一起使用。有關併發執行時所定義的訊息塊型別的更多資訊,請參見非同步訊息塊。各節內容 本主題描述以下訊息傳遞函式 send 和 asend concurrency send 函式一條訊息傳送到指定目標同...