閑古鳥

オールドプログラマの日記。プログラミングとか病気(透析)の話とか。

Scala

Scalaでls(ディレクトリ内のファイルを取得する)

Javaを知らないのでもっと良い方法があるのかもしれませんが、File.listFilesメソッドで指定ディレクトリの中にあるファイル、ディレクトリの一覧が取得できるそうです。指定ディレクトリの中身を漁るだけなら一行で書けました。 import java.io._ def ls1(d…

0〜1000に含まれる0をカウントする

二年くらい前に流行っていたようです。とりあえず、何も考えずに。 var sum = 0 for { i <- 0 to 1000 } { val s = i.toString sum += s.count(c => c == '0') } println(sum) 全然らしくないので、少し考えながら書いみてた。 (0 to 1000).map(s => s.toStr…

ScalaでFizzBuzz

def fizzbuzz(in: Int): String = in match { case x if x % 15 == 0 => "FizzBuzz" case x if x % 5 == 0 => "Buzz" case x if x % 3 == 0 => "Fizz" case x => x.toString } (1 to 100).map(fizzbuzz).foreach(println) こう書いてから、書き直して以下の…

部分適用

def add(x: Int)(y: Int) = x + y val add2 = add(2) _ println(add2(3)) // => 5と書く事ができるらしい。が、こうすると、 //println(add(4, 5)) println(add(4)(5))上の書き方ができなくなる。 def add(x: Int, y: Int) = x + y def add2 = add(2, _)みた…

Scala

流行っているらしいのでインストールだけしてみました(何周遅れ?)。 インストール MacPortsで一発。 sudo port install scala alias(zsh) 実行しようとすると cal コマンドと打ち間違えていないかと zsh がうるさいので correct を無効化。 alias scala='noc…