注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿弥陀佛

街树飘影未见尘 潭月潜水了无声 般若观照心空静...

 
 
 

日志

 
 
关于我

一直从事气象预报、服务建模实践应用。 注重气象物理场、实况场、地理信息、本体知识库、分布式气象内容管理系统建立。 对Barnes客观分析, 小波,计算神经网络、信任传播、贝叶斯推理、专家系统、网络本体语言有一定体会。 一直使用Java、Delphi、Prolog、SQL编程。

网易考拉推荐

scallop  

2014-12-27 09:21:38|  分类: Scala |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
scallop
Scala's delayedInit and Scallop

import org.rogach.scallop._

class Conf(arguments: Seq[String]) extends ScallopConf(arguments) {
  val help = opt[Boolean](name = "help", short = 'h', descr = "Help me please.")
}

object Gen {
  def main(args: Array[String]) {
    val conf: Conf = new Conf(args)
    if (conf.help()) {
      println(s"""Usage: Gen [--help]""")
      sys.exit(-1)
    }
    println("Do some work here")
  }
}
------------------------
Making help a lazy val and calling conf.afterInit() before accessing conf.help should clear the compiler warnings.

Installation

Add following to your build.sbt:

libraryDependencies += "org.rogach" %% "scallop" % "0.9.5"

Quick example

import org.rogach.scallop._;

object Conf extends ScallopConf(List("-c","3","-E","fruit=apple","7.2")) {
  // all options that are applicable to builder (like description, default, etc)
  // are applicable here as well
  val count:ScallopOption[Int] = opt[Int]("count", descr = "count the trees", required = true)
                .map(1+) // also here work all standard Option methods -
                         // evaluation is deferred to after option construction
  val properties = props[String]('E')
  // types (:ScallopOption[Double]) can be omitted, here just for clarity
  val size:ScallopOption[Double] = trailArg[Double](required = false)
}
// that's it. Completely type-safe and convenient.
assert(Conf.count() == 4)
assert(Conf.properties("fruit") == Some("apple"))
assert(Conf.size.get == Some(7.2))
// passing into other functions
def someInternalFunc(conf:Conf.type) {
  assert(conf.count() == 4)
}
someInternalFunc(Conf)

For more examples, you can look at Scallop's test suite.

  评论这张
 
阅读(300)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017