Scala

「BPStudy #49 Scala 祭り」で発表してきました

タイトルの通り「BPStudy #49 Scala 祭り」で「Pythonista による Pythonista のための Scala 紹介」という発表をしてきました。発表用のスライドはこちら: Pythonista による Pythonista のための Scala 紹介 in BPStudy #49また、リモートでハッシュタグ参…

Scala の Collection っぽいなにか in Python

パクってみたシリーズもう一つ。Scala の Collection は、collection に対する処理をテンポ良く書けるインタフェイスなので結構好きである。例えば以下のように scala> 1 to 10 filter(_ % 2 == 0) map(_ * 30) res1: scala.collection.immutable.IndexedSeq…

Scala 勉強会 in 渋谷第32回 Scala Hack-a-thon に参加してきました

今更ながら参加レポートみたいな何か。Scala 勉強会 in 渋谷第32回 Scala Hack-a-thon に参加してきました。 なにやった 何をやるか全く考えておらず、型レベルプログラミングとか面白そうだよねーなんて言っていたのですが、なんか生産性低そうなので諦めて…

Scala で Reflection を使ってみた

適当なインスタンスから JSON 文字列を出力したいなーと思い、折角なので Refrection を使ってやってみた。 reflection Scala(Java?) での Reflection は obj.getClass でクラス情報を取得するところから。 取得したクラスに対して getDeclaredFields, getDe…

Scala 勉強会 in 渋谷 第22回

Scala 勉強会 in 渋谷 第22回で発表してきました。 ネタはこれ。スライドとか ust とか。Scala 勉強会なのにいきなり Python のインタプリタ立ち上げてコード打ったりしているとか。 あと説明グダグダだったので精進しないと。 途中で [twitter:@yuroyoro] …

Actor 版 Generator 修正版

Actor 版 Generator を修正したので gist に上げた変更点は hasNext を呼びまくってもいい Generator.gen を使えば継続版と同じ感じで書ける Generator 用メッセージを識別してみた といったところ。でも使用はオススメしない 2010/01/21 修正 [twitter:@coo…

Scala で Python の Generator みたいな何か(継続版)

継続を使えばこの前作った Generator のような何かを概念通りに書けそうだったので書いてみた。 ソース ソースは gist概要は大体前回の Actor を使った版と同じ。 使い方 import scala.util.continuations.{cpsParam} import net.shomah4a.utils.generator.c…

Scala の継続を試してみる

前回の Scala 勉強会 in 渋谷 で [twitter:@cooldaemon] さんが発表していた Scala の継続の話を聞いて、とても気になったので Scala の継続を見てみる。 継続についてのお話にインスパイアされて Scala の継続を見てみる。 Scala の継続は限定継続と言うら…

Scala で Python の Generator みたいな何か

2011/01/13 [twitter:@okomok] さんに Generator を使ったあとに hasNext を呼ぶとブロックするという点を指摘していただいたので修正 ではなくて このように hasNext が副作用があるから next の呼び出し回数以上に hasNext を呼ぶとデータをすっ飛ばしてし…

Maybe とか Option とか

Option をあれこれ Scala の Option は Haskell における Maybe と大体同じである。なので class Maybe[T](opt: Option[T]) { def >>=[U](f:(T=>Option[U])) = opt flatMap f } implicit def optionToMaybe[T](opt: Option[T]) = new Maybe(opt) という定義…

サンタクロース問題 in Scala

Scala でサンタクロース問題を解いてみた。 問題はこれ http://karetta.jp/article/blog/oneline/030756 Actor 使うと楽ですね。 でもこれでいいのかな。 ソース サンタ Actor, トナカイ Actor, 小人 Actor を作って回すだけ。 特に難しいことはしていないは…

Scala から Jython を呼んでみる

Android で Scala もいいけど、 Python は仕事で使っているし、慣れているから捨てがたい。 というわけで、 JVM で動く Python である Jython を使ってみる。 install jython は apt-get で OK. $ sudo apt-get install jython 普通に使ってみる $ jython >>…

Scala 勉強会 in 渋谷で発表してきた

Scala 勉強会 in 渋谷 第11回で発表してきました。スライドはこれ android-scala - Google スライドネタは android + scala の開発環境構築です。 Scala + Android で sbt を使う - プログラマのネタ帳 Scala で Android - プログラマのネタ帳ust の録画は……

Scala + sbt でマーケット用 apk を作る

sbt にしてから、アプリケーションを更新したかったのに、リリースするまで少し悩んだのでその分をメモ。 release 用 apk を作る release 用 apk を作るには $ sbt > packageで、できるみたい。 署名 まず、 keystore ファイルは ~/.keystore に置く。 そし…

Android + Scala でハマったところメモ

R.java これは sbt に限った話ではなく、 ant でも発生する問題だが、 scala 側から R.java が読めない。 R.java 内では scala 側と同じパッケージ名を指定しているのだが、読めないらしい。scala ソースと同じディレクトリに適当な Java ソースを置いておく…

Scala + Android で sbt を使う

Android 開発で sbt を使うと楽らしいので使ってみる。 参考 sbtでScala+Android - papamitra sbt セットアップ Google Code Archive - Long-term storage for Google Code Project Hosting. から sbt-launch-${version}.jar をダウンロードする。 で、パス…

Android でカメラオーバレイ

Android でカメラのプレビューの上に何か描きたい! AR やりたい! などと思い立ったので、やってみた。 参考サイトとか androidでカメラを制御。なんか変だよGoogleさん 涙目ブログ/ウェブリブログ Blogger Android プロジェクト作成 前の記事と同様にプロジ…

Scala で MongoDB を使ってみた。

MongoDB とは おググりくださいませ。 install ubuntu なのでここから Install MongoDB — MongoDB Manual/etc/apt/sources.list.d に以下の内容のファイルを mongo.list とでもして追加。 deb http://downloads.mongodb.org/distros/ubuntu 10.4 10genその後…

Python でのアレは Scala でどうやるのリストその1

Python 使いが Scala を使う上で「こんな時どうやるの」を参照するために作ってみる。 ただし、このやり方が 「Scala のコードとしてスマートかどうか」という部分は考慮に入れていないので注意。 リスト処理 Python で関数を使うものは大体メソッドになって…

Live Wallpaper 作成

デジタル時計のライブ壁紙を作りたかったので作る。 プロジェクト作成 前にやったときと基本的に同じ。 ライブ壁紙のサンプル Android SDK の samples の下に CubeLiveWallpaper というものがあったので、これを見つつ色々やる。 プロジェクト書き換え Andro…

Scala と package

Java 未経験者なのでよくわからんのです。 というわけで調べた。 やりたいこと org/shoma/test.scala の中身が class Test(a:int) { def print() = println("test") } def somefunc(i:Int) = i*i となっているとき、 import org.shoma.test val x = test.som…

Scala で Android

ここ見て実践 今度はScalaでHelloAndroid - papamitraEclipse 使いたくない人としては願ってもない内容なので、がんばってみる プロジェクト作成 android create project --target $version --path $dir --activity ClassName --package $packagename --tage…