1

Play!/Scala に関する初心者の質問: string をresultに格納するにはどうすればよいですか?

object App extends Application {
  def route = {
    case GET(Path("/feed/geocodeo")) & QueryString(qs) => Action{ request=>
      val result = QueryString(qs,"latlng").getOrElse("40.714224,-73.961452")
      val response = WS.url("http://maps.googleapis.com/maps/api/geocode/json?latlng="+result.toString+"&sensor=false").get()
      val body = response.value.get.body
      Ok(body).as("text/html")
    }
  }
}
4

1 に答える 1

2

QueryString が List[String] を返す場合、コードはコンパイルされません。

scala> List("hi","bye").getOrElse("whatever")
<console>:8: error: value getOrElse is not a member of List[java.lang.String]
              List("hi","bye").getOrElse("whatever")
                               ^

コードはコンパイルされますか? その場合、QueryString は getOrElse メソッドを持つものであり、結果は String の最も具体的なスーパークラスであり、QueryString によって返されるものです。

通常は で getOrElse を呼び出します。 getOrElse にOption[Something]渡されるオブジェクトは と同じ型である必要がありSomethingます。そうしないと、役に立たない型のオブジェクトが返されます。

于 2013-02-15T20:26:19.583 に答える