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

大掃除

FirefoxプラグインのScrapBookに残ってたデータをEvernoteに突っ込みまくったら、Evernoteの転送量がちょっとやばい事になったYO!! 後半月はセーブして使う。 ScrapBookお世話になりました。

Rails勉強会@東北第15回

23日はRails勉強会@東北第15回だったよ。 参加者は4人。id:sheegさん、xibbarさん、すずりょさん。 セッション Merb(というかDataMapper) -片平 JRuby+Swing id:xibbarさん Rails+Flex+Red5 -片平 Merbは、Rails勉強会@東京にいって来たので情報を共有出来…

Rails勉強会@東京第36回に行ってきた

21日、久方ぶりにRails勉強会@東京に行ってきました。二回目。 東京は暑かった。 前半参加セッション Cucumberをゆっくりしゃべります(id:moroさん) Rspecも最近やり始めたばかりという状態であれだけど、今やってる仕事で使えないか考えてみようと思った。…

東京Ruby忘年会2008 - 地域Ruby忘年会

Rails勉強会@東京終了後、忘年会へ。 すごい豪華な顔ぶれだった。 もっと色んな人と話をしたかったんだけど、仙台Ruby会議01を宣伝できたので、よしとします。続きは仙台で。 みんな来てねー。

仙台Ruby会議01の参加登録が開始されました&見所など

仙台Ruby会議01の正式プログラム公開と、参加登録を開始しました。詳しい内容は仙台Ruby会議01 - Regional RubyKaigiを参照いただければ幸いです。OSC2009Sendai内での開催となり、申込もOSCでの申込みとなります。ライトニングトークスのコマ以外の会場はあ…

ViewImagesInFeed.scalaを読んでみた

ちょっと書いてみようと思っているものの為に、Scala勉強会@東北のみんなのコードから、ymnkさんのViewImagesInFeed.scalaを読んでみた。 で、最初に一言いっときます。 Scala勉強会@東北すばらしいです。というか、ymnkさんとか武田さんはじめ皆がしっか…

むむむむむむむ

Scala scala> def mystery(lst : List[Int]) = | (List[Int]() /: lst) ((x, y) => if (y % 2 == 0) x else x + y) warning: there were deprecation warnings; re-run with -deprecation for details mystery: (List[Int])List[Int] scala> mystery(List(1,…

mkstring

Scala scala> val lst=List(1,2,3) lst: List[Int] = List(1, 2, 3) scala> lst.mkString("|") res17: String = 1|2|3 scala> lst.mkString("[", "|", "]") res18: String = [1|2|3] Ruby >> array=[1,2,3] => [1, 2, 3] >> array.join("|") => "1|2|3" >> "…

Folding

Scala scala> def sum(lst: List[Int]) = (0 /: lst) ((x,y) => x+y) sum: (List[Int])Int scala> sum(List(1,2,3,4)) res10: Int = 10 ruby >> def sum(array) >> array.inject(0) {|sum,x| sum+x } >> end => nil >> sum([1,2,3,4]) => 10 Scala scala> de…

Tuples

Use methods _1 _2 etc. to access members (not zero-based!) ("Hello", 1729)._2 //is 1729 ふーん、なんで0からでないんだろう? scala> ("Hello",22,isEven) res9: (java.lang.String, Int, (Int) => Boolean) = (Hello,22,<function>)</function>

Methods with Function Parameters

Scala scala> val isEven = (x: Int) => x%2 == 0 isEven: (Int) => Boolean = <function> scala> List(2,3,5,7).partition(isEven) res8: (List[Int], List[Int]) = (List(2),List(3, 5, 7)) Ruby >> [2,3,5,7].partition {|x| x % 2 == 0 } => [[2], [3, 5, 7]]</function>

Access by Position

# () are used for indexed access—not [] List(17, 29)(1) //is 29 違和感の原因を一個発見。[]使いたくなる。慣れの問題ですな。

A Random Number List

depricationが出てらー。 scala> def randList(len: Int,n:Int)={ | val gen = new Random | 1 to len map((x:Int) => gen.nextInt(n)) | } warning: there were deprecation warnings; re-run with -deprecation for details randList: (Int,Int)RandomAcce…

Categories of List Methods

* Basic methods length head tail isEmpty * Operators :: ::: + - -- == != >= * Access by position (n) take drop dropRight slice indexOf lastIndexOf * Methods with unary predicates count exists dropWhile filter find findIndexOf forall partit…

Scalaでリファレンスからメソッド引く場合の定石

分かってるメソッド引く場合じゃなくて、こんな事出来るメソッド〜と当たりを付けたい場合。普通みんなどうしてるんだろう? Webのリファレンスで? EclipseやNetBeansで、補完候補表示させてそこから?RubyやRailsはhtml helpファイル(*.chm)で引いてて、割…

Application: Event Handling

scala> import java.awt._ import java.awt._ scala> import java.awt.event._ import java.awt.event._ scala> import javax.swing._ import javax.swing._ scala> implicit def mekeAction(action:(ActionEvent) =>Unit) = new ActionListener { | overrid…

Capturing the Enclosing Environment

scala> val n = 3 n: Int = 3 scala> val fun = (x:Int) => n *x fun: (Int) => Int = <function> scala> fun(2) res0: Int = 6 scala> def mulBy(n : Int) =(x:Int) => n * x mulBy: (Int)(Int) => Int scala> val quadruple = mulBy(4) quadruple: (Int) => Int = <function> s</function></function>…

/: :\

foldLeft っぽいやつと foldRight のエイリアス?

Functions as Parameters

はてなにScalaのシンタックスハイライト欲しいなあ。 Javaで代用は寂しい。 scala> val triple = (x: Int) => 3 *x triple: (Int) => Int = <function> scala> 1 to 10 map(triple) res0: RandomAccessSeq.Projection[Int] = RangeM(3, 6, 9, 12, 15, 18, 21, 24, 27, </function>…

valとvar

valが不変でvarが可変 //valでコンストラクタを定義 scala> class Person(val name:String) defined class Person scala> val p = new Person("Andy") p: Person = Person@72aa81 scala> p.name res0: String = Andy scala> p.name="John" <console>:6: error: reassi</console>…

Scalaいま時点の感想?レポート?

前提 Javaは忘れた。ほぼ分からないに等しい。 Perl,PHPもずっと触ってない。 関数型言語はよくわからない。ふつうのHaskellを途中までやって積ん読 RubyというかRailsはそこそこ書ける。 Scalaに対するスタンス 単純に初聞の言語に対する興味。 関数型言語…

まとまってる

http://www.h7.dion.ne.jp/~samwyn/Scala/scalaindex.htmhttp://labs.unoh.net/2008/10/5scala.html

Functional Programming 1 and 2

http://horstmann.com/sjsu/cs152/schedule.htmlつまみ食い中 scala> val triple = (x : Int) => 3 * x triple: (Int) => Int = <function> scala> triple(5) res3: Int = 15 scala> (1 to 10).map(triple) res4: RandomAccessSeq.Projection[Int] = RangeM(3, 6, 9, 1</function>…

クラスで省略しまくり

Scala 省略しまくりって語弊があるような。コンストラクタの定義も一辺にやっちゃったみたいな感じか。 scala> class Person(var name: String, var address: String) defined class Person scala> var p = new Person("John", "Tokyo") p: Person = Person@…

Symbol#to_procみたいな?

Scala クロージャの引数が1つの場合の省略記法 //省略せず scala> Array(1,2,3,4,5).map {value => value.toString } res10: Array[java.lang.String] = Array(1, 2, 3, 4, 5) //_を引数の変数に使えると scala> Array(1,2,3,4,5).map { _.toString } res5: …

とりあえず写経

Scala,おらもJavaとの比較アプローチはもはやイミフなので、xibbarさんにならい、Rubyと比較することにしよう。 で、とりあえず、xibbarさんの9/15のやつを写経。 チュートリアルの奴は自分もやった覚えはあるんだけど、さっぱり定着しなかった。 Rubyと比較…

わからん

Scala カリー化っておいしいの? scala> def add(a: Int)(b: Int) = a + b add: (Int)(Int)Int scala> val list = List(1,2,3) list: List[Int] = List(1, 2, 3) scala> list.map { add(3)(_) } res7: List[Int] = List(4, 5, 6) Ruby こうですか?わかりま…

Scalaよくわからないので恥をさらしておく

NetBeans(6.5)でScala Applicationを作成したときに、Create Main Classにチェックいれないと、プロジェクトを構築は出来るけど、プロジェクトを実行は出来ない。 というか、Main.scalaをつくらないとNetBeans上から実行は出来ない、でファイナルアンサー? …

NetBeans6.5でjViプラグインのなんか警告

Scalaのインデント文字数変えようと思って、NetBeans6.5のオプションを開いて修正後、了解を押すとこんなのが出る。 で、新しくScalaのファイルを追加して編集しようとすると、インデント文字数が元に戻っちゃうよ。後で調べる。 追記:あー、書いてある通り…

Scalaよくわからないので恥をさらしておくその2

ymnkさん、id:quintiaさんの助言によりなんとか出来ました。 Javaをすっかり忘れているのがいけない気がしてきた。 というかパッケージをよく分かっていないという事だと思う。 Create Main ClassにチェックいれないでScala Applicationを作成した状態。 こ…