忍者ブログ
凡人の日々の経過を記録
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



JRubyからJavaのAPIを呼ぶ 
 

requre 'java'
include_class 'java.lang.System'
System.out.println 'Hello, Java!'

JavaのSystem.out.printlnを呼ぶにはrequire 'java'を呼ぶ。

 

拍手[0回]

PR


 今まで命令型プログラミングしかやってこなかったので、関数型プログラミングはなかなか自分の脳が受け付けない。

Scalaプログラマー(関数型プログラマー脳)になるためには、
  1. valを使う
  2. イミュータブルオブジェクト
  3. 副作用のないメソッド
を優先することが必要のようだ。

このあたり、まずは習うより慣れろだ。

拍手[0回]



本屋にいったら、

OpenGL4.0グラフィックシステム

という本を見つけた。
11月に出たばっかのようで、すごく興味をもった。
最近OpenGL自体をやっていないので買うことはなかったが斜め読みした感触としては4.0の説明がずらずらと、新機能のテッセレータとか載っていた。
リファレンスとして役立ちそうなかんじ。
Versionばっか上がって本が無い中、ありがたい一冊。

また、OpenGLを再度はじめることがあれば買ってみよう。



拍手[0回]



 Scalaをはじめます。


Ubuntu10ならば、apt-getでインストールできます。

$ sudo apt-get install scala

実行してみます。

$ scala
> print("Hello World")


HelloWorld.scala

object HelloWorld {
  def main(args: Array[String]) : Unit = {
    System.out.println("Hello World")
  }
}

$ scalac HelloWorld.scala


すると、HelloWorld.classが生成されます。

実行するには次のようにします。


$ scala HelloWorld

パスを指定することでjavaコマンドでも実行できます。


$ java -classpath .::/usr/share/java/scala-library.jar HelloWorld


拍手[0回]



 このパタンを使うと、ファイル操作とか楽になります。


import java.io._
 
def withPrintWriter(file:File)(op:PrintWriter => Unit) {
    val writer = new PrintWriter(file)
    try {
        op(writer)
    } finally {
        writer.close();
    }   
}
 
val file = new File("date.txt")
withPrintWriter(file) { pw =>
        pw.println(new java.util.Date)
        pw.println("Hello World")
}
 ここでは、PrintWriterを使っていますが、
    val writer = new BufferedWriter(new OutputStreamWriter(
        new FileOutputStream(filename),"UTF-8"))
という書き方もできます。
その場合は、printlnではなくてwriteになるかもです。
なんとなくRubyのブロックの使い方を連想します。



 

拍手[0回]




Powered by 忍者ブログ  Design by © まめの
Copyright © [ ずくのない凡人の日記 ] All Rights Reserved.
http://bambooflow.blog.shinobi.jp/