トップページ > プログラム > 2015年04月04日 > 4YoGdZdr

書き込み順位&時間帯一覧

23 位/172 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000003000000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
プログラミング言語 Scala 10冊目

書き込みレス一覧

プログラミング言語 Scala 10冊目
904 :デフォルトの名無しさん[]:2015/04/04(土) 15:42:05.88 ID:4YoGdZdr
>>899
データを作ってそこからデータを取り出したい時に使える
switchにそういう機能はない

    sealed trait Tree[+A]
case class Leaf[A](a:A) extends Tree[A]
case class Branch[A](l:Tree[A],r:Tree[A]) extends Tree[A]

val t = Branch(Leaf(3),Leaf(3))

val k = t match {

case Branch(l,r) => l
}

これでleftの葉を取れる
でleafが来た時の分岐を忘れてるけどその時は警告を出してくれる
プログラミング言語 Scala 10冊目
905 :デフォルトの名無しさん[]:2015/04/04(土) 15:45:57.26 ID:4YoGdZdr
後はList[Optin[A]]のデータを取り出したい時とか
case Some(x)::_=> x
逆にOption[List[A]]のデータを取り出したい時とか
case Some(x::_) => x とか
型がネストしてて色々複雑な時も便利 漏れがあったら教えてくれるしね
プログラミング言語 Scala 10冊目
906 :デフォルトの名無しさん[sage]:2015/04/04(土) 15:54:56.78 ID:4YoGdZdr
>>903が言ってるようにhaskellはmatch case文の糖衣構文がいっぱいあるから
haskellの方がより便利なんだけどね 関数定義に使えるし
length::[a] -> Int
length (x:[]) = 1
length (x:xs) = 1 + length xs


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。