scala

基礎からsbtとScalaでServletプログラミング No.2

やりたいこと jQueryでインタラクティブに結果を変化させたい。 今回は前回作った基礎構成をベースに、HTMLのformに入力した値を即送信して、結果を表示するプログラムを作成する。 数字をフォームに入力 入力する度に内容を送信し、下記結果を受信し計算結…

基礎からsbtとScalaでServletプログラミング No.1

WEB系の技術に関しての不足を感じている。 WEBのフレームワークを勉強したりしているが、いかんせん基礎知識が無いので難しい。初めてプログラミングを学ぶ時にC言語から入るように、フレームワークとか便利な物を用いずに基礎をやってみようと考えた。 (私…

Scalaのtryは値を返せる!

ScalaやJavaでちょっと自分で書いてていまいちだと思うのが下記のようなコード。 object Foo { def create(file:File):List[Foo] = { val in = new FileInputStream(in) val result = Source.fromInputStream(in).getLines.map(new Foo(_)).toList in.close …

containsAll,containsOne - 文字列に全て含む,少なくとも一つ含む

package toming { object MyRichString { implicit def stringToMyRichString(str:String) = new MyRichString(str) } class MyRichString(string:String) { private[this] def applyAll (conditions:String*)(bool:Boolean) = { conditions.map(string.cont…

データと繋ぐペアのSetから一連のチェーン作成

case class Node(path:String,rev:Int) object NullNode extends Node(null,-1) case class Joint(before:Node,after:Node) val set = Set[Joint]( Joint(NullNode,Node("a",1)), Joint(Node("a",1),Node("d",4)), Joint(Node("a",1),Node("b",2)), Joint(No…

入力されたキーのキーコードを表示するAWTアプリ

キーコードをじゃんじゃん調べるために作成。 mainを持つクラスはなし。 "new KeyCodeFinder"で始動。 import java.awt._ import java.awt.event._ class KeyCodeFinder extends Frame { this setTitle "KeyCodeFinder - Focus Me And Push Keys." this setF…

scalaのクロージャでローンパターン

プログラミングで、リソースの扱いって注意を要するらしい。 ファイルの開きっぱなし DBのConnectionの閉じ忘れ DBのStatementの閉じ忘れ とかとか? これらのリソースを扱う全ての場所で、 ちゃんと「close」のメソッドを呼びださなきゃならないって面倒よ…

Scala標準のActorでディレクトリ内のファイルハッシュの再帰的取得(できるだけ分散処理!)

ディレクトリ内のファイル全てにある定義した処理を行う為に、 def find[T]( root:File,list:List[T] = Nil )( proc:(file:File) => T ) みたいなメソッド作って処理してた。 でも、アクターを使ってみようって事で、折角だから下記を満たすように作りたい。…

scalaでディレクトリ内ファイルのハッシュ値をderbyで格納し、重複ファイルを検出

使うライブラリはこちら。 commons-codec-1.4.jar derby-10.7.1.1.jar 適当に書いたので、ソースの中にパス書き込んでますが・・・。 自分用記録。 [GetFileHash.scala] object GetFileHash { def main(args:Array[String]) { Class.forName("org.apache.der…

scala.actors.Actor内のloopとreactの挙動

また今度書くつもり、というか模索中の事なのだけれど、scalaでActorをうまく終了させたい。多くのActorがメッセージパッシングによって連携して動くのはいい。 しかし、単発のアプリケーションとしては、仕事が終わったらさっさと終了してもらいたい訳で…。…