opamp_sando's blog

クソザコが割りと適当なことを書くためにある備忘録です。あとたまに普通の日記も書きます

scala

javaMailでメール送信

javamailを使ってscalaでgmailから適当に送信してみた。 scalaを使ったけどぶっちゃけベタ書きなのでscalaを使うことに全く意味が無いんだけど... build.sbtに依存関係を追加 libraryDependencies ++= Seq( "javax.mail" % "javax.mail-api" % "1.5.1", "jav…

PlayでroutesからURLを生成したいな

そんな時は val url = routes.Application.index.url みたいな感じでいいらしい 参考: http://stackoverflow.com/questions/10591396/how-to-reverse-generate-a-url-from-a-route-on-play-2

Playでapplication.confから値を読み出したいな

お題 playにはconf/application.confというファイルがあり、このファイルにはデータベースの設定などなどそういった設定ができる。 この設定にオレオレ設定を記入してPlayのcontrollersあたりから読み出せると便利なんじゃなかろうかと... application.conf…

PlayでJSONデータを受け取ったり渡したりと

Playで最近あるWebアプリを割りと頑張って作ってる。で、view側からJsonデータをPlayに渡す方法がググってもあんまり出なかったので受け取る方法も一緒にメモしてみる。 受け取り側 まず、受け取り側。例えば、viewから送られてきたJsonデータをそのままview…

scalaの暗黙の型変換(implicit conversion)

implicitについていろいろメモる。主にimplicit defとimplicit classについて。 implicit def implicit defは暗黙の型変換を自分で定義できるというもの。 例えば... $ scala としてインタプリタを起動し次のようにしてみると... > val a:Int = 1.1 <console>:7: erro</console>…

PlayではじめてのWebSocket

websocketなる技術をPlay with scalaな感じで使ってみた。 作ったサンプルコードはこちら playwebsocketsample1 参考にさせて頂いた資料はこちら http://www.playframework-ja.org/documentation/2.0.2/ScalaWebSockets http://www.slideshare.net/kamekoopa…

object swing is not a member of package scala みたいなエラー

sbtを使って簡単なscalaプロジェクトを作って初めてのScalaでのGUIプログラミングと意気込んでいた時のお話。 object swing is not a member of package scala まあ、上のようなエラーがでることがある。 package com.example import scala.swing._ object M…

Scalaの関数の引数がよくわからなかった奴 "=>"

Scalaの入門書はひと通り読んだけどよくわからない記述を時々見る。(多分おいらのスペックが低いのだろう) ということで今日はこんな物をメモっておく。 (間違えてる場合はご指摘してくださると幸いです) def func(f: => String => Request[AnyContent] => R…

ごく簡単なvimでscalaのシンタックスハイライト

vimさんはデフォルトで多くの言語の色付けとか行なってくれるがscalaはさすがに対応してないので対応させてみた。 昔入れてた奴はなんか補完周りまでいじり倒されて使い勝手が大きく変化してちょっとアレだったので今回は「ごく簡単な」ものになっている。 …

scalaのgenericsで特定の型のみを取る方法

厳密にはちょっと違うかもしれないけど、scalaのgenericsには特定のクラスのサブクラスのみを取ることを許すというようなことができるらしい。 例えば、数値系の型だけ取りたいようなクラスがあったなら class Hoge[A

sbtでscalatestを使う (scala 2.10.2)

scalaでちょっとしたライブラリでも作って練習してみようと思ってテストを書くときscalatestを使うことにしたんだけど、ここに書いてある通りにすると次のようなエラーが出た。 > test [info] Updating {file:/path/to/project/}default-cbe989... [info] Re…

Scalaの関数で可変長引数

Scalaの関数で可変長引数の取り方のメモ。 def hoge(x:Int*){ x.foreach(println(_)) } という感じで書くとxは可変長引数で hoge(1,2,3,4,5,6,7,8,9) という具合にかける。 可変長引数は引数の最後に来る必要があるので注意。

scalaのmatch式 その2

続き ListやArrayのようなシーケンス型と呼ばれるものに対しても次のようなmatchがかける... val l = List(1,2,3,4) l match { case List(0,_,_,_) => println("0から始まって長さ4のリスト") case List(1,_,_) => println("1から始まって長さ3のリスト") ca…

scalaのmatch式 その1

javaでいうswitch文のようなものなのだが、かなり応用範囲が広いのでメモ。 あと長くなりそうなので幾つかに分けてみる。 というわけでまずmatchの文法というか書き方 セレクター式 match { case ... => .... . . } という感じの文法。 簡単な例を一つ。 def…

scalaで関数自体の型のようなもの

ということで早速scala記事。 とりあえず今日は、scalaの関数について。 例えば、JSのような言語も関数を関数の引数に渡したり戻り値で返したりできるが、JSにはFunctionという型がある。Scalaでも型があるのかなーなんて思ってたけど型というかよくわからな…

Firefox ブラウザ無料ダウンロード