是否有%* SUB-MAIN-OPTS对用于短期权处理?

时间:2019-05-16 23:00:25

标签: command-line-arguments perl6

Perl6中的{ id : 1, name : "John", city : "London" } 命令行解析非常棒!

据我从Command Line Interface文档中得知,动态哈希%* SUB-MAIN-OPTS中仅支持一个选项来操纵选项处理(即 ArrayList<Person> persons= null; Person person = new person(); MongoClient mongo = new MongoClient("localhost", 27017); DB db = mongo.getDB("project"); DBCollection col = db.getCollection("person"); BasicDBObject whereQuery = new BasicDBObject(); whereQuery.put("city", city); DBCursor cursor = col.find(whereQuery); while(cursor.hasNext()) { Document doc = (Document) cursor.next(); ArrayList list = new ArrayList(doc.values()); System.out.println(list.get(1)+"\n"); System.out.println(cursor.next()); } )。 / p>

也许我错过了显而易见的事情,但是是否存在现有/受支持的选项来采用“老式”单破折号选项?

例如:

multi sub MAIN()

这是最好手动处理还是与外部模块一起处理?

1 个答案:

答案 0 :(得分:9)

您可以按原样进行模拟,尽管您仍然必须= = -a=foo,并且在技术上除--a=foo--alpha之外还拥有-a

sub MAIN(:a(:$alpha)!) {
    say $alpha;
}

...所以您可能要使用https://github.com/Leont/getopt-long6

use Getopt::Long;
get-options("alpha=a" => my $alpha);