タグ

ブックマーク / kmizu.hatenablog.com (4)

  • 「sbt-sonatypeプラグインを使ってScalaのライブラリをリリースしてみた」のまとめ - kmizuの日記

    Togetterに全部まとめたけど、備忘録としてこっちにも貼っておく。 コマンド2回叩くだけでリリースできてとても便利なので、Sonatype OSSRHで自作Scalaライブラリをリリースしている人は、使うといいと思うよ! ちなみに、Sonatype OSSRHに自分のアカウントを作る方法は、pab-techさんのブログ記事、自分が作ったScalaライブラリをMaven Centralリポジトリに登録する方法 (GaedsをSonatype OSSRHにデプロイしたよ\(^o^)/)が参考になるかと。1年以上前の記事だけど同じような手続きでいけるはず。

    「sbt-sonatypeプラグインを使ってScalaのライブラリをリリースしてみた」のまとめ - kmizuの日記
    taroleo
    taroleo 2014/01/29
  • Iterator.continually()を使おう - kmizuの日記

    Scalaの標準IOライブラリであるscala.io(.Source)は非常に腐ってます。読み込みしか対応してない上に、バイト列の読み込みもサポートしてないという代物。しかも、Scala 2.7まではscala.io.Sourceがそのままだとcloseできなかったりとか(今はcloseできます)。さっさと退場して欲しい代替ライブラリが標準になって欲しいところなんですが、現状の情勢をみるにしばらく先になりそうな感じです。 というわけで、Scalaを使うならJavaのIOライブラリとお付き合いしなければいけません。とりあえず、Commons IOとか使うのも良いかもしれませんが、ちょっとしたものを書くときにいちいちCommons IO使うのも面倒くさいです。 じゃあ、BufferedReaderとかをいちいちwhileループで回すのかといえばそれも面倒くさいです。そこで、その苦痛を緩和してく

    Iterator.continually()を使おう - kmizuの日記
    taroleo
    taroleo 2012/11/29
    Scalaにはこういう隠し技がたくさんありますよね
  • Red-black tree Scala版についてちょっと気になった点 - kmizuの日記

    (追記)Scalaでの実装。 abstract class Node case class Leaf() extends Node case class R(left: Node, key: int, right: Node) extends Node case class B(left: Node, key: int, right: Node) extends Node def balance(left: Node, key: int, right: Node) = { (left, key, right) match { case (R(a, x, b), y, R(c, z, d)) => new R(new B(a, x, b), y, new B(c, z, d)) case (R(R(a, x, b), y, c), z, d) => new R(new B(a, x, b),

    Red-black tree Scala版についてちょっと気になった点 - kmizuの日記
    taroleo
    taroleo 2009/04/15
    すっきり。
  • Cで作るPEGパーザコンビネータ - kmizuの日記

    これまでPEGパーザコンビネータ作ってきた言語は、全て、レキシカルスコープの無名関数やそれに類似の機能を持っていたため、容易に作ることができましたが、C言語には無名関数のような機能が無いため、ちょっと頭をひねりました。とりあえず作ることを優先させたので、メモリ管理とか、ライブラリとしての再利用しやすいようにヘッダファイルに宣言を適切に分離するとか一切考慮してません。たとえば、動的なメモリ確保は、mallocした後、そのまま放置で、freeしてません。あと、C言語は普段使わないので、C言語バリバリに使っている方からすると、メモリ管理とか以外の基的なところで、ツッコミどころ満載な気もするので、その辺も指摘していただければと思います。 #include <stdio.h> #include <string.h> #include <stdlib.h> #define RULE(name) Pa

    Cで作るPEGパーザコンビネータ - kmizuの日記
  • 1