メモ
数多ある *env 系のツール導入をぐっと簡単にしてくれる anyenv ですが、現行バージョン (1.1.1) では、tfenv を導入すると、シェルログイン時にエラーが出るようになります。 No such command 'init' Usage: tfenv <command> [<options>] Commands: install Install a specifi</options></command>…
いろいろ試したのでメモ。 初期化時に型が決まる まあ当たり前ですが。 public class Main { public static void main(String... args) { var hoge = 1; // hoge は int型になる hoge = 2147483648; // Integer.MAX_VALUE + 1 System.out.println(hoge); } }…
忘れるのでメモ。プリミティブ型用のインタフェースは省略。 Interface Scala風関数型表記 Consumer<T> (T) => void BiConsumer<T, U> (T, U) => void Supplier<T> () => T Function<T, R> (T) => R BiFunction<T, U, R> (T, U) => R Predicate<T> (T) => boolean BiPredicate<T, U> (T, U) => bo</t,></t></t,></t,></t></t,></t>…
例えばDOMのようなツリー構造があったとして、あるノードを渡された時に、ルートからそのノードまでの名前を連結してパス文字列を作成する、というプログラムを考えます。Java7でも動くように、副作用ループを使った書き方だとこんな感じ。 public static St…
自動リソース管理(というかclose管理)を使いたいけど、Scala ARMライブラリを導入するほどのもんでもないなー、というときに自作するためのメモ。 // ラッパクラスと関数の定義 class ManagedResource[T <: {def close(): Unit}](resource: T) { def foreach[U](f: T => U) { try { f(resource) } finally { resource.clo</:>…
とりあえず、Scala用のテストフレームワークは使わず、素のJUnitを使った例。Eclipseから使う場合、JUnit関連クラスのimportはクラススコープの外側に書いておかないと、右クリックからテスト実行できないようです。あと、Scala2.8からアノテーションのパラ…
勉強中。あとでまとめる。 (2010/09/06)ざっくりまとめ オブジェクト指向・手続き型脳味噌で理解したモナド(の概念の一部) モナドは、副作用の範囲を封じ込めるコンテナとして見ることができる 高階関数を受け取り、モナドの中身に適用して、その結果をまた…
大規模システムのフレームワークとか作っていると、まずは「機能の標準化」というお題目で、画面の流れのモデルケースを作り(例:検索→一覧→選択して編集→DB更新→検索画面へ戻る)、個別機能の設計ではこのモデルケースに極力準拠してもらいつつ、実装作業…
そりゃそうだ。多忙な Java 開発者のための Scala ガイド: Scala とサーブレット