My *_*rts 4 scala playframework playframework-2.0
在Play 2.0项目中使用Scala,我试图从配置文件中获取数据.
目前我使用以下代码来提取字符串:
val foo = Play.current.configuration.getString("foo")
Run Code Online (Sandbox Code Playgroud)
我本来期望得到一个String对象,但是Option[String]返回一个对象.
我找不到任何描述该Option[T]对象并调用toString()返回的Java文档Some( foo ).
当使用构造方法提取同样的情况,Boolean和Int即-从配置值Option[Boolean]和Option[Int]被返回.
任何人都可以解释这个Option[T]对象是什么以及如何在application方法调用暗示将返回的形式中访问我想要的值?
在scala中,类型Option[T]表示类型的可选值T.如果您习惯使用Java术语,则可以将选项称为"可能的值null".
在Play中,它们在获取配置时被使用,因为字符串可能不存在 - 如果您尝试使用Java读取它,它将返回null.
要获取可以使用的配置字符串getOrElse,这样可以在配置字符串不存在时提供默认值:
val foo = Play.current.configuration.getString("foo").getOrElse("bar")
Run Code Online (Sandbox Code Playgroud)