This page has moved to http://www.scala-sbt.org/0.13/tutorial/ja/index.html.
Effective Scala Marius Eriksen, Twitter Inc. marius@twitter.com (@marius) [translated by Yuta Okamoto (@okapies) and Satoshi Kobayashi (@scova0731)] Table of Contents 序章 書式: ホワイトスペース, 命名, インポート, 中カッコ, パターンマッチ, コメント 型とジェネリクス: 戻り型アノテーション, 変位, 型エイリアス, 暗黙 コレクション: 階層, 使う, スタイル, 性能, Java コレクション 並行性: Future, コレクション 制御構造: 再帰, Return, forループと内包, require と assert 関数型プログラミング: 代数的データ型としてのケースクラス, Option, パターンマ
Following are commonly used commands. Here is a more complete list. assembly Build executable jar with all dependencies (using sbt-assembly), named target/YourProjectName-assembly-X.Y.jar. If your project has only one main(), and you have specified in in the project build.sbt with the mainClass statement, run it like this: java -jar target/ProjectName-assembly-X.Y.jar Otherwise, specify the class
今回はTumblrのブログのタイトルを取得するプログラムを書いてみたいと思います。 前回とあまり変わらないんですが、今回はJSONの処理が入ります。 今更ですが、Tumblr APIのリンクを載せておきます。 特にレスポンスのJSONのサンプルが役に立ちます。 API | Tumblr Tumblr API v2リファレンス和訳(原文:2011/08/07 19:11:23時点) - Walrus, Googling. それではコードに移ります。 Scalasスクリプトで、Dispatchを使ってHTTP通信するというところは前回とほとんど同じなので、違う点だけ説明したいと思います。 val key = "zMy8BEqJ6lPfumkFurUKcz6BdrQtrUkzx1vwnFobeudkQTWv8F" val query = Map("api_key" -> key) val req
この記事では、私がオブジェクト指向のどこを愛しどこを素晴らしいと感じていて、そのうえでなぜオブジェクト指向を使うことを避けているのかを書き留めておきます。関数型言語使いの方で、「オブジェクト指向の何がいいのかわからない」「オブジェクト指向難しすぎ・複雑すぎ」とおっしゃる方にぜひ読んでいただきたいと思っています。また、「オブジェクト指向言語完璧に理解したわ」と思っている方にも読んでいただきたく思います。 なお、ここでのオブジェクト指向の定義は、「各言語でオブジェクト指向と呼ばれているものすべて」とします。JavaやScalaやJavaScriptやSmalltalkやRubyやCommon LispやOCamlがオブジェクト指向と呼んでいるものすべての総称です。もっとまともな定義が知りたい方は以下の記事がおすすめです。 オブジェクト指向の概念の発明者は誰ですか?(改訂版) - Smallta
この記事の内容は執筆当時のものです。最新の内容はこちらを参照してください。 LinkedInのブログで、EclipseベースのScalaによるAndroidアプリ開発環境が紹介されてました。(と、 @okapiesさんに教えていただきました。ありがとうございます。) The technology behind EatIn: Android apps in Scala, iOS apps, and Play Framework web services うちのAndroid Scala開発環境はIntelliJ IDEA + sbtなので、折角なのでこんな風にも出来ますよと紹介してみます。本当はLinkedInブログに対抗して (sorry eclipse users!!) って書きたかったw のですが、IntelliJはエディタとして使ってるだけなので、Eclipseに変えても大して支障な
独習 Scalaz これまでいくつのプログラミング言語が羊の衣を着た Lisp に喩えられただろうか? Java は馴染み親しんだ C++ のような文法に GC を持ち込んだ。それまで他にも GC を載せた言語はあったけども、現実的に C++ の代替となりうる言語に GC が載ったことは 1996年には画期的に思われた。やがて時は経ち、人々は自分でメモリ管理をしないことに慣れていった。JavaScript と Ruby の両言語もその第一級関数 (first-class function) やブロック構文を持つことから羊の衣を着た Lisp と呼ばれたことがある。S式の同図像性がマクロに適することから Lisp系の言語はまだ面白いと思う。 近年の言語はもう少し新しい関数型言語から概念を借りるようになってきた。型推論やパターンマッチングは ML にさかのぼることができると思う。時が経てば、人
元ネタはひしだまさんのエントリです。 淡路島の電車の運行状況を取得する方法 - ひしだまの変更履歴 その元ネタはこちらです。 「淡路島の電車の運行状況を聞いた話」をシステム開発に置き換えてみる - 日々常々 interfaceを個別に増やすなら型クラスかな〜と思い試しに書いてみました。シンプルにする為に、いろいろ手を抜いていますのでご了承ください。 ついでなので、元の元記事のnull問題も解決して、DSLを使って日本語で会話している風にしてあります。実際に動くので、sbt等で試してみてください。 簡単に説明 型クラス 型クラスを使う事によって、型ごと個別に振る舞い(interface)の定義ができます。今回は鉄道路線だけですが、後から飛行機やバス等を個別に増やすこともできます。*1 null問題 なんという事でしょう。scalaだとnull問題はEither型で解決できてしまいます。Eit
はじめに 関数型といえばモナド、モナドといえば難しいという事が巷で言われていますが、いきなりモナドを理解しようとするから難しく思えるだけで、圏論から順序を追って理解していけば全然難しく無いんだよって事を分かって貰えればいいなぁと思い書いて見ることにしました。 ただ、圏論といっても適用範囲がとっても広く、応用編になると分けわかんなくなってくるので、ここではプログラミング分野に特化したFP(functional programing)圏論*1について書きます。 また、説明を簡単にする為に細かい部分をいろいろ省略しています。学術的な定義としては正確ではないので、このエントリの説明は大体合ってる位の気持ちで読んでくださいね。 尚、ぼくは圏論の詳しい事はさっぱり分からないので、学問的な話を振られても回答できませんキリッ 圏ってなんなの? 圏論と言えば、圏です。 圏って何なのかというと、対象(obje
ScalikeJDBC Interpolation 1.4.7 から experimental 扱いで SQLSyntaxSupport という機能が追加されました。この記事ではこの機能の概要について紹介します。 https://github.com/seratch/scalikejdbc/tree/develop/scalikejdbc-interpolation SQLInterpolation とは何か まず ScalikeJDBC の SQLInterpolation とはどういうものかをご紹介します。なお SQLInterpolation は Scala 2.10.0 の新機能に依存していますので Scala 2.9 環境では使用できません。 まず、このようなマッピング先を用意しておいて import scalikejdbc._ case class Group(id: Long
概要長らくRCだったScala 2.10がとうとうリリースされました。Scala 2.10.0 now available!なお日本語の翻訳が存在しますので、詳細はこちらをどうぞ。ガイドと概要 - Scala Documentation新機能Value Classesclassは、struct型(制限事項が適用されます)のように動作させるためにAnyValを継承することができる。http://docs.scala-lang.org/overviews/core/value-classes.html値クラスを定義できるようになりました。これは実行時は元の型(例えばPrimitive型)として使われ、struct型のような構造を構築できるようです。汎用trait(Anyの拡張)による拡張やdefのみのメンバ、初期化を一切行わないなどの制限があります。この値クラスの意義はリソース面で不利なラッパ
これが……型の力かッ……!! spray | Blog » The Magnet Patternという記事で、「The Magnet Pattern」というデザインパターンが紹介されている。 これは、メソッドオーバーロードで解決していた問題を、型クラスとDependent method typesを組み合わせて置き換えることで、オーバーロードの際の様々な制約(Type Erasureなど)を突破し、より柔軟な拡張性を得ることができるというもの。このパターンでは、引数の型に応じて異なる結果型を返すようにできる。 この記事で、今まで何のために使われるのかわからんかったDependent method typesの有効性が理解でき、あらためて型の力を思い知った。 以前に"Generalized type constraints"(Scalaで<:<とか=:=を使ったgeneraliz
テストしてますか! スマホブラウザ対応の結合テストとか辛いですね。そうですね。 というわけでSeleniumでiOSシュミレーターのブラウザを動かして見ました。 Seleniumには、iPhone driverというのがあるのでそれを使いますです。 http://code.google.com/p/selenium/wiki/IPhoneDriver 以下の行動をとります。もちろんMac上です。 XCode の4.2以上を入れます #git clone https://code.google.com/p/selenium/ #cd selenium #./go iphone #open iphone/iWebDriver.xcodeproj #Xcode が立ち上がるはずなので、適切なiPhoneを選択し、Runします 上記が全部うまくいくと、Xcodeのシュミレーター上で、RemoteD
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く