Skip to content

Instantly share code, notes, and snippets.

ポーカー

カード情報

スート

意味 入出力
Spade S
Heart H
Diamond D
Club C
@suzuki-hoge
suzuki-hoge / Haskell.md
Last active July 31, 2016 11:22
format

Haskell

Lines

write someday...

  • 2 lines between functions
  • 2 lines between top area lines
  • No lines between imports

Spaces

write someday...

@suzuki-hoge
suzuki-hoge / README.md
Created August 23, 2016 00:07
昔のpython置き場

なんか1年目末だか2年目だかに書いたのが出てきて面白かったから残しておく

@suzuki-hoge
suzuki-hoge / README.md
Last active February 17, 2017 06:12
Java訓練-01

以下の文字列に対して処理を行い、リストまたは値を作る
(それぞれの問は独立している)

String line = "Hoge fuga foo piyo Bar";

1. 各単語の文字数を数える

[4, 4, 3, 4, 3]
class MoreResultTest extends Specification {
private static Result result = new Result(
Parser.parse(ParserTest.bobio)
)
def test_enum() {
expect:
result.as('status', { it == '1' ? Status.OK : Status.NG }) == Status.OK
}
class EitherTest extends Specification {
// テスト準備
Either<String, Integer> r = Either.right(5)
Either<String, Integer> l = Either.left('parse error')
enum ResultType {
EVEN, ODD, PARSE_ERROR, RANGE_ERROR
}

もっともっと Either

flatMapforを作る

意図

  • flatMapで更にmap系の訓練をする
  • Eitherを実用する際は複数のEitherを組み合わせて初めて真価を発揮することを知る
  • forの存在を知る

お題

フォームのバリデーションをEitherを使って実装する

お題概要

とある会員と契約を管理するシステムを実現します。

会員はモバイル回線と固定回線をそれぞれ最大1つ持つことが出来ます。 (固定回線は今回は登場しません)

モバイル回線には最大1つの音声オプションが付き、 音声オプションには最大1つの留守番電話オプションが付きます。

以上のデータ構成を前提として、以下の要求を実現します。