投稿

12月, 2016の投稿を表示しています

PlayScalaによるWebアプリケーション - Scalaテンプレート

PlayScalaによるWebアプリケーション開発では、テンプレートを使う事が出来ます。 Webサイトでは、上の方のヘッダーが同じものがよくありますが、 Scalaではテンプレートを使う事により効率的にページがつくれます。 テンプレートでは、ヘッダーと全体の枠組みを書きます。 ・テンプレートのファイル - main.scala.html @(title: Stringl)(content: Html) <!DOCTYPE html> <html>   <head>     <title>@title</title>   </head>   <body>   <div class="container">   <nav class="navbar navbar-inverse navbar-fixed-top">   <!-- この中にヘッダー部分のHTMLを書きます -->   <nav class="">   </nav> @content   </div>   </body> </html> テンプレートを利用する側のページでは、下記のように呼び出して使います。 @main と書くことにより、main.scala.html がテンプレートファイルとして読み込まれます。 ・一般のページのファイル - fDetail.scala.html @title = {"ページタイトル"} @main(title) {     <h1>Home page</h1>   <!-- ここにホームページの中身を書きます --> } のようになっています。

PlayScala コレクション型 Array,List,Map

Scalaで良く使われるコレクション型について見ていきます。 (1)Array型 Array型は配列として扱う。メモリ上で連続して扱われています。 同じ種類の大量のデータを効率的に扱う事が出来ます。 ・データを指定して宣言 scala> var a = Array(10,20,30,40,50) a: Array[Int] = Array(10, 20, 30, 40, 50) Array型の要素は、添え字を指定して取得する事も出来ます。 scala> a(0) res1: Int = 10 ・ループで回す for文を使ってループする事も出来ます。 scala> for(i <- 0 to a.length - 1) { println(a(i)) } 10 20 30 40 50 (2)List型 List型は連結リストのような構造になっています。 Array型と比べてデータの追加、削除が早いというメリットがあります。 ・定義 scala> var m = List("abc", "def", "hij", "klm") m: List[String] = List(abc, def, hij, klm) ・値の追加 リストの末尾に追加されます。 scala> m = m :+ "xyz" m: List[String] = List(abc, def, hij, klm, xyz) ・ループで回す for文を使ってループする事も出来ます。 scala> for(l <- list) { println(l) } abc def hij (3)Map型 Map型はキーと値が対になっています。 ・定義 scala> var map = Map("a" -> 10, "b" -> 20, "c" -> 30, "d" -> 40) map: scala.collection.immutable.Map[String,In