case class ParseSuccess [ + T ]( value : T , next : String ) extends ParseResult [ T ]
case class ParseSuccess [ + T ]( value : T , next : String ) extends ParseResult [ T ]
Table of Contents Lexical Syntax Identifiers, Names & Scopes Types Basic Declarations & Definitions Classes & Objects Expressions Implicits Pattern Matching Top-Level Definitions XML Annotations Standard Library Syntax Summary References Changelog Authors and Contributors Martin Odersky, Philippe Altherr, Vincent Cremet, Gilles Dubochet, Burak Emir, Philipp Haller, Stéphane Micheloud, Nikolay Miha
11. Q.1 A1-A3, B1-B3 を埋めてください val m = Map("A" -> 1, "B" -> 2) m.map{case (x, y) => (y, x)} m.map{case (x, y) => x} m.map[A1, A2]({case (x, y) => (y, x) })(?:A3) m.map[B1, B2]{case (x, y) => x })(?:B3) 12. A.1 val m = Map("A" -> 1, "B" -> 2) m.map{case (x, y) => (y, x)} m.map{case (x, y) => x} m.map[(Int, String), Map[Int, String]]{ case (x, y) => (y, x) }(?:CanBuildFrom[Map[String, Int], String, M
技術的負債についての自分の考えをまとめます。 言いたいこと 最初から綺麗なコード・設計を書ける状態を目指せ。 そうもいかないものは天秤だが、勝手に背負うな。 技術的負債とは? 技術的負債は事業リスクです。放置することによって事業が失速したり損害が発生したりするため、適切に取り扱う必要があります。 負債の種類と対応は、以下の三つに別けられると自分は考えています。 1. 新規で書く末端機能のクソコード・クソ設計 最初から綺麗なコード・設計を書けるを目指すべきですが、時間がかかるのであればスピード重視でよいでしょう。 「もっと良いように書けるべきだけど、どうすればよいか?」とコメントでも添えて、さっさとプルリを投げてしまうべきです。 末端機能で、あとで上に乗っかる物がないのであればコードの品質はそれほど問題ではありません。テストを整備しておけば、後でレベルが上がったときに綺麗にできるでしょう。
唐突に始まったScala Tipsコーナー、初学者が陥りがちなScalaのコードパターンを例にして、より良い方法を解説していきます。第一回はOptionクラスのmap()メソッドを使おうというものです。知ってる人には今更ですが、Option#map(f)は、レシーバーの値がSome(v)の場合は、fにvを渡した結果のSome(f(v))が、Noneの場合はNoneが返ります。したがって、パターンマッチを使った以下のようなコードは val result = exp1 match { case Some(v1) => val vx = //expression using v1 Some(vx) case None => None } 常に以下のような形に書き換えることができます。 val result = exp1.map{v1 => val vx = //expression using
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く