我刚开始使用Kotlin,为了进行练习,我想成对读取程序参数。
程序的输入如下Alice 10 Bob 20 ...
我有一个当前版本,可以通过分块输入并成对迭代来合理地工作
for((name, age) in args.asIterable().chunked(2))
Run Code Online (Sandbox Code Playgroud)
但是,如果我传递的参量数量不一,则最后一个分块列表仅包含一个元素,并且赋值失败并带有IndexOutOfBoundsException。
我可以通过在分块列表上添加一个过滤器来完成这项工作,如果它的大小不正确,该过滤器将丢弃最后一个列表:
for((name, age) in args.asIterable().chunked(2).filter { it -> it.size==2 })
Run Code Online (Sandbox Code Playgroud)
但是,我对此有一些问题
是使分块仅返回完整块的好方法,还是仅读取完整子列表的安全且优雅的方法?