2008-12-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>…