2012-04-01から1ヶ月間の記事一覧
今まであまり触れてこなかったので、メモを兼ねて試してみることにしました。 普通にメソッド呼び出し val targetString = "Hello 1234 World 5678" val numberPattern = """\d+""".r val alphaPattern = """[a-zA-Z]+""".r // Regex#findFirstIn => Option[…
昨日、うちで使っているUbuntu Linuxを12.04にアップグレードしたのですが、それでもソフトウェアセンターにJDK7が入っていないので、手動でもインストールすることにしました。参考にしたのは、このサイトです。 http://www.webupd8.org/2012/01/install-or…
久しぶりにNettyネタです。まあ、今回は写経ものですが。ところで、今年の1月頃にNettyを触っていた時はバージョン3.3.0.Finalだったのですが、今はすでにバージョン3.4.2.Finalとなっています。上がるの早いなぁ…。んで、今回はHTTPサーバを書いてみたいと…
珍しくトラックバックなどいただいたので、もうちょっとこのネタを書いてみることにしました。関数合成して何が嬉しいのか…ですが、前の例みたいな足し算、掛け算なんか書いても、確かにあんまりまあ現実味ないですからねぇ。それに、こういう単純なメソッド…
なんとなく始めてみた、同じテーマでのリライトシリーズ第3弾、最後はClojureです。Javaから始めてScala、Groovyと続きましたが、Clojureが1番苦労しました…。イミュータブルなデータ構造を基本にプログラミングすることに慣れていないということを、嫌とい…
以前、JavaとScalaで同じようなタイトルのエントリを書いたことがありましたが、これには元ネタがあって、そちらは実はGroovyだったりします。元々、仕事でクラスをディレクツリーを辿って動的に走査して、見つかったクラスの継承関係やらアノテーション付与…
あまり使ったことがないので、メモを兼ねて試してみます。 Groovy Groovyの場合は、Closureクラスのインスタンスを合成します。使用するメソッドは、leftShift(>)です。 def add2 = { x -> x + 2 } def multiply3 = { x -> x * 3 } def multiply3AndAdd2 =…
久々に、Clojureを触ってみたくなりまして。1.1、1.2の頃は触っていたのですが、このところ全然だったので、Clojure 1.3.0をインストールすることにしました。とりあえずスクリプト的に使うことをメインにするので、Leiningenはいったん置いておきます。まず…
ちょっとしたことから、Scalaのscala.collection.MapLikeのソースを見ていたのですが、こんな記述があるのを見つけました。 // Source from Scala 2.9.2 ... package scala.collection import generic._ import mutable.{ Builder, MapBuilder } import anno…
これまた、覚えられないキーの方々。 Emacsでカレントバッファのファイルを再読み込みする キー 意味 C-x C-v カレントバッファを別のファイルで置き換える(=そのまま同じファイルを開くと、再読み込み) M-x revert-buffer カレントバッファを捨てて、フ…
全然キーが覚えられない、矩形編集です。まずは、標準のキー操作で。矩形選択の最初は、通常のマーク付け(C-Space)で開始します。 キー 意味 C-x r t 矩形の先頭に文字を挿入 C-x r d 矩形領域を削除 C-x r k 矩形領域を削除して、キルリングに追加 C-x r …
続いて、バッファ操作の基本をまとめておきます。バッファ一覧はよく使っていますが、バッファの選択しか使ってなかったので…。まずは、カレントバッファ上で作業する場合。 キー 意味 C-x b バッファを名前を指定して切り替える(デフォルトは、ひとつ前に…
Emacsを使っている、使っているとは言いつつも、これまであまり大して使いこなせていなかったと思います。ホント、ちょっと便利なエディタ程度な使い方をしてますね。最近、こんな本を買って読んでみて、これならちょっとずつ進めそうな感じがしてきたので頑…
以前に、IntelliJでfscとsbtの設定方法をまとめたことがありましたが、ちょっと前にリリースされたIntelliJ 11の新機能に以下のような記載がありました。 Fast Scala Compiler support (FSC) http://www.jetbrains.com/idea/whatsnew/index.html はて?前もf…
ちょっと前に、Continuationモナドの勉強ってことでファイル入出力の例を写経しつつ、自分でも少し書いてみました。今度は、for式に使えるクラスを自分で書けるようになることも目的にしつつ、もうちょっと実装難易度を下げてfor式で入出力を扱えるようなプ…
例えば、以下のようなモジュールをimportするPythonスクリプトがあったとして… #!/usr/bin/python # -*- coding: utf-8 -*- import hoge print 'Hello World!' インポートされる側。 #!/usr/bin/python # -*- coding: utf-8 -*- print 'hoge' これを実行する…
なんとなく、書いてみたくなったので。カリー化というのは、複数の引数を取る関数を、最初の引数のみ与えると残りの引数を取る関数に変換すること…です。なんか、書くより例を見た方が早いので…。例えば、こういう関数があったとして… def add(x, y): return…