R - 参数传递函数: getopt()

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) ) {
  cat(paste(getopt(command, usage = T), "\n"))
  q(status=1)
}

## 设置默认值
#if ( is.null(args$pdfinput) ) {
#  args$pdfinput = 0
#  }

print(args$pdfinput)

$ Rscript  t.R -h
Usage: t.R [-[-help|h]] [-[-pdfinput|i] <character>] [-[-noloutput|o] <character>]
    -h|--help         帮助文档
    -i|--pdfinput     判断值的结果
    -o|--noloutput    标准化的判断值的结果

参考:https://www.cnblogs.com/timeisbiggestboss/p/7811009.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值