当前位置: 首页 > news >正文

网站制作 网站建设西安买公司的网站建设

网站制作 网站建设,西安买公司的网站建设,机械加工网入网,广州网站建设市场groovy.run 脚本Picocli 2.0增加了对其他JVM语言#xff08;尤其是Groovy#xff09;的支持。 当Groovy语言具有CliBuilder类的内置CLI支持时#xff0c;为什么还要使用picocli#xff1f; 您可能喜欢picocli的使用帮助#xff0c;默认情况下会显示ANSI 颜色和样式 。 您… groovy.run 脚本 Picocli 2.0增加了对其他JVM语言尤其是Groovy的支持。 当Groovy语言具有CliBuilder类的内置CLI支持时为什么还要使用picocli 您可能喜欢picocli的使用帮助默认情况下会显示ANSI 颜色和样式 。 您可能会喜欢的另一个功能是命令行TAB自动补全 。 最后还有很多较小的功能例如您的脚本需要零行的命令行解析代码picocli的子命令支持选项和位置参数的类型转换以及解析器跟踪等。 例 让我们看一个例子。 下面的checksum.groovy脚本采用一个或多个文件参数并为每个文件打印出一个校验和和文件名。 默认情况下“校验和”算法为MD5但用户可以指定其他MessageDigest算法。 用户可以使用-h或--help选项来请求使用帮助。 Grab(info.picocli:picocli:2.0.3) picocli.groovy.PicocliScript import groovy.transform.Field import java.security.MessageDigest import static picocli.CommandLine.*Parameters(arity1, paramLabelFILE, descriptionThe file(s) whose checksum to calculate.) Field File[] filesOption(names [-a, --algorithm], description [MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512,, or any other MessageDigest algorithm.]) Field String algorithm MD5Option(names [-h, --help], usageHelp true, description Show this help message and exit.) Field boolean helpRequestedfiles.each {println MessageDigest.getInstance(algorithm).digest(it.bytes).encodeHex().toString() \t it } 在$picocli-home/examples/src/main/groovy/picocli/examples目录中运行时此示例脚本将产生以下结果 $ groovy checksum.groovy *.* 4995d24bbb3adf67e2120c36dd3027b7 checksum.groovy a03c852de017f9303fcc373c7adafac6 checksum-with-banner.groovy 1ee567193bf41cc835ce76b6ca29ed30 checksum-without-base.groovy 使用-h或--help选项调用脚本将显示以下ANSI颜色和样式的用法帮助消息 代码在哪里 您可能已经注意到上面的脚本不包含任何用于解析命令行参数或处理使用帮助请求的逻辑。 没有picocli.groovy.PicocliScript批注脚本代码将如下所示 class Checksum {Parameters(arity 1, paramLabel FILE, description ...)File[] filesOption(names [-a, --algorithm], description [...])String algorithm MD5Option(names [-h, --help], usageHelp true, description ...)boolean helpRequested } Checksum checksum new Checksum() CommandLine commandLine new CommandLine(checksum) try {commandLine.parse(args)if (commandLine.usageHelpRequested) {commandLine.usage(System.out)} else {checksum.files.each {byte[] digest MessageDigest.getInstance(checksum.algorithm).digest(it.bytes)println digest.encodeHex().toString() \t it}} } catch (ParameterException ex) {println ex.messagecommandLine.usage(System.out) } 上面的示例包含显式代码用于解析命令行处理无效的用户输入以及检查使用帮助请求。 脚本的第一个版本没有任何此样板代码。 让我们看一下它是如何工作的。 底标 用picocli.groovy.PicocliScript注释的脚本会自动转换为使用picocli.groovy.PicocliBaseScript作为其基类。 这会将Groovy脚本变成基于picocli的命令行应用程序。 运行脚本时Groovy会调用脚本的run方法。 PicocliBaseScript::run方法负责解析命令行并使用结​​果填充脚本字段。 run方法执行以下操作 首先以Option或Parameters注释的Field变量是从命令行参数初始化的。 如果用户输入无效则会打印一条错误消息然后显示用法帮助消息。 如果用户请求使用帮助或版本信息则将其打印到控制台并退出脚本。 否则将执行脚本主体。 可以自定义此行为有关更多详细信息请参见PicocliBaseScript javadoc 。 除了更改脚本基类 PicocliScript批注还允许Groovy脚本直接使用Command批注而无需引入帮助程序类。 picocli解析器将在包含Option和Parameters注释字段的类上寻找此注释。 更改脚本基类的同一自定义AST转换还将脚本中的任何Command注释都移动到此转换后的类以便picocli解析器可以将其拾取。 颜色的使用帮助 Command注释使您可以自定义用法帮助消息的各个部分例如命令名称描述页眉页脚等。 让我们在示例脚本中添加一些麻烦。 对于ASCII Art Generator请登录http://patorjk.com/software/taag/ 。 Grab(info.picocli:picocli:2.0.3) Command(header [$/|bold,green ___ ___ _ _ |/$,$/|bold,green / __|_ _ ___ _____ ___ _ / __| |_ ___ __| |__ ____ _ _ __ |/$,$/|bold,green | (_ | _/ _ \/ _ \ V / || | | (__| \/ -_) _| / /(_- || | \ |/$,$/|bold,green \___|_| \___/\___/\_/ \_, | \___|_||_\___\__|_\_\/__/\_,_|_|_|_||/$,$/|bold,green |__/ |/$],description Print a checksum of each specified FILE.,version checksum v1.2.3, showDefaultValues true,footerHeading %nFor more details, see:%n,footer [[1] https://docs.oracle.com/javase/9/docs/specs/security/standard-names.html,ASCII Art thanks to http://patorjk.com/software/taag/] ) picocli.groovy.PicocliScript import groovy.transform.Field import java.security.MessageDigest import static picocli.CommandLine.*Parameters(arity1, paramLabelFILE, descriptionThe file(s) whose checksum to calculate.) Field private File[] filesOption(names [-a, --algorithm], description [MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512, or, any other MessageDigest algorithm. See [1] for more details.]) Field private String algorithm MD5Option(names [-h, --help], usageHelptrue, descriptionShow this help message and exit.) Field private boolean helpRequestedOption(names [-V, --version], versionHelptrue, descriptionShow version info and exit.) Field private boolean versionInfoRequestedfiles.each {println MessageDigest.getInstance(algorithm).digest(it.bytes).encodeHex().toString() \t it } 脚本的新版本添加了页眉和页脚以及打印版本信息的功能。 使用帮助消息和版本信息中显示的所有文本都可能包含格式说明符例如%n行分隔符。 使用帮助消息还可以显示ANSI颜色和样式。 Picocli支持简单的标记语法其中| 开始一个ANSI样式的节 |结束它。 立即跟随| 是用逗号分隔的颜色和样式列表例如|STYLE1[,STYLE2]…​ text| 。 有关可用颜色和样式的详细信息请参见picocli 用户手册 。 新脚本的用法帮助消息如下所示 Command批注还具有version checksum v1.2.3属性。 当用户指定该版本字符串印刷--version在命令行上因为我们声明的Option带属性该属性名称versionHelp true 。 $ groovy checksum-with-banner.groovy --version checksum v1.2.3 有关更多详细信息请参见用户手册的“ 版本帮助”部分。 结论 PicocliScript批注允许Groovy脚本省略样板代码同时添加强大的通用命令行应用程序功能。 在示例脚本的最终版本中大多数代码实际上是使用帮助消息的描述文本。 picocli还有很多其他功能请尝试一下 如果愿意请在GitHub上为项目加注星标然后告诉您的朋友 翻译自: https://www.javacodegeeks.com/2018/01/picocli-2-0-groovy-scripts-steroids.htmlgroovy.run 脚本
http://www.zqtcl.cn/news/688823/

相关文章:

  • 网站 psd科技公司网站首页
  • 宁波论坛建站模板单页面视频网站
  • 冷饮网站开发背景意义大鱼直播
  • 网站如何建设二级域名代理天津专业做网站
  • 相城区建设局网站如何申请公司邮箱账号
  • 中国空间站名字无锡网站优化
  • 怎么做自己淘宝优惠券网站专业的网站制作公司地址
  • php网页搜索引擎优化的核心本质
  • 在国外社交网站做产品推广wordpress自建站
  • flex 做网站色调网站
  • 金融网站模板源代码阿里巴巴网站建设哪家好
  • 成都市网站公司网站建设制作介绍河南
  • 自己如何建设网站微信开发公司哪家好
  • 混沌鸿蒙网站建设wordpress 后台添加菜单
  • 北辰正方建设集团有限公司网站云南网站开发
  • 郑州网站建设信息前端用什么软件开发
  • 动漫视频网站开发做编程的网站有哪些方面
  • 做搜狗网站优化首页软外贸代运营
  • 巴士定制网站开发宁波快速制作网站
  • 永年区住房和城乡建设局网站网站后台文档
  • 网站备案授权书wordpress教程 页面
  • 深圳网站开发制作安徽全网优化
  • 陕西建设局网站appcms程序怎么做网站
  • 石家庄城乡建设厅网站牡丹江百度推广
  • 网站建设源代码 费用事件网站推广
  • 购物网站开发文献综述潮汕网站建设
  • 做五金生意什么网站做比较好网站建设市场规模
  • 网站跟app的区别是什么网络搭建结构图
  • 淘宝网站怎么做视频教程山西推广型网站开发
  • 杭州开发网站2018主流网站建设语言