2009-01-01から1年間の記事一覧

for式のフィルタ

カレントディレクトリ内のcsvファイルの名前だけ出力 C#で書いた場合 例によってLinqは使わない。 var files = Directory.GetFiles("."); foreach (var file in files) { if (file.EndsWith(".csv")) Console.WriteLine(file); } Scalaでフィルタを使った場…

Scalaの連続パラメータ

C#での可変長引数は void Function(params string[] args) { // }と書く。 対してScalaでは def function(args: String*) = { // }と記述する。呼び出しかたは同じ。 function(“a”, “b”, “c”)とする。 ただし、C#はの場合は以下のように配列を渡せる Functio…

一回しか実行されないファクトリメソッド

C#

DIで注入とかしないけど、とりあえずサービスクラスとかをプロパティ経由で取得したりするようにする場合が多い。けど、そんな時はDIでいうとこのシングルトンでよくて、同じオブジェクトでいい方が圧倒的に多い。 そんな時どうしてたかった言うと private S…

ListとNil

tumblrがハードウェアアップデートとやらでポストができないのではてなへ。短いポストはあまりこっちに書きたくないのだがまあいいか。最近こっち書いてないし。 で なんてことはなくて、ScalaではイミュータブルなシーケンスとしてListがあるのだけれど、空…

Scalaの配列で見るapplyとupdateメソッド

val testArray = new Array[String](2)という配列を定義する。一つ目の要素に値を入れる場合は testArray(0) = “Hello”とするのが当然。だが実はこれは内部では testArray.update(0, “Hello”)に置き換わっている。つまり、括弧で囲まれた1個以上の引数を伴…

集合(Set)はイミュータブル版とミュータブル版があるんだよ

名前空間が違うので完全名は違うけど以下の2つがある scala.collection.immutable.Set scala.collection.mutable.Set ちなみに普通に初期化してしまうと、問答無用でイミュータブル版になるので注意。 イミュータブル版は要素の追加に注意が必要 その前にま…

タプルの要素アクセス

Scalaのタプルのアクセスはこんな感じ。 val pair = (11, "test") println(pair._1) println(pair._2)どうして1から始まるのか。そもそも括弧と番号でアクセスできないのは何故か。 答え ご存知の通り配列やListの括弧でのアクセスは実際はapplyメソッドに置…

Listのメソッド。Scalaの場合とC#での書き方の違い。

あまり対比させるのは良くないと思いつつ。ただLinqは無しで。なぜって、僕の仕事環境ではLinqはまだ使えないからですよ!悔しいからですよ! 対比表 条件 Scala C# 生成 val list = List("a", "b", "aa", "bb", "ccc") var list = new List() { "a", "b", "…

気合でカレンダーらしきものを作る

結局いらなかったけど、せっかく作ったからメモ。 平日が必要になった 社内用の集計SQLを作ってたのだが、「平日」が必要になった。システムの中には祝日マスタテーブルがあったので祝日はさくっと消せるのだが、土日をどうするかって事になった。 まあ、to_…

tf-idfとタームベクトル

勉強会の行くと各種のアルゴリズムの話が出るが、いつもなんとなくの理解になってしまっているので、一度ちゃんと知識にしておこう。 そんな訳で今日はtf-idfとかから。 ただWebから適当に集めると多すぎるので、お勉強として集合知インアクションからの抜粋…

Plaggerの環境を作ろう インターンが決まれば会社のサーバーを使うつもりなのでプロトタイプ用の自宅環境はVMWare上にUbuntuをインストールしてPlagger環境を作ることにしたわけで。 (実は余ってたデスクトップにCentOS入れようとしたが、PCが不定期に落ちる…

今日はインターン生とのキックオフミーティング

いきさつ 10月ぐらいからちょこちょこといろんな勉強会に参加しては名刺交換をさせてもらっていたんだけど、その中には結構学生さんもいてその人達には「是非インターンに来て!」と触れ回っていたわけです。 まあ正直、うちのような小さいベンチャー(まだ創…