##Request RequestはHTTPアクセスに必要な情報を持っています。
どのような値が設定されているか確認するには、次のメソッド(変数)で確認します。
class Request {
val body: Option[HttpEntity]
val creds: Option[Credentials]
| scala> import java.util.{List => JList, ArrayList => JArrayList} | |
| import java.util.{List=>JList, ArrayList=>JArrayList} | |
| scala> import scala.collection.JavaConversions._ | |
| import scala.collection.JavaConversions._ | |
| scala> val p = System.getPropert | |
| getProperties getProperty | |
| scala> val p = System.getProperties().toMap |
| // foldLeft と foldRight | |
| // foldLeft | |
| scala> List(1,2,3,4,5).foldLeft(0){(x,y) => x + y} // x が初期値、yが要素になる | |
| res5: Int = 15 | |
| scala> List(1,2,3,4,5).foldLeft(0){(x,y) => x + x} | |
| res6: Int = 0 | |
| scala> List(1,2,3,4,5).foldRight(0){(x,y) => x + y} // x が 要素、yが初期値になる |
| // Scala 実践プログラミングの grep の記事を参考にしたバージョン | |
| import scala.io.Source | |
| object CheckLog { | |
| case class Args( | |
| filename: String, | |
| exp: String | |
| ) |
| //以前の最長文字列問題を 合成関数を使うように変更したバージョン | |
| // mississipi という文字列の中の最長重複文字を探す | |
| package takuya71 | |
| import takuya71.ExFunction._ | |
| class ExFunction[-ARG, +RET](f: ARG => RET) { | |
| def :>:[A](g: A => ARG): A => RET = f compose g | |
| def :*:(arg: ARG): RET = f(arg) |
| import scala.io.Source | |
| object CheckLog { | |
| case class Args( | |
| filename: String, | |
| exp: String | |
| ) | |
| def main(args: Array[String]) { |
| #!/bin/sh | |
| exec scala "$0" "$@" | |
| !# | |
| val helpMessage = """ | |
| Usage: | |
| -n do not output the trailing newline | |
| -x repeat x times |
| // project ディレクトリの下に plugins.sbt として | |
| // 実行は gen-idea | |
| resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/" | |
| addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.0.0") |