Tag: scala

scalaの等価性

2019.8.24 12:00#scala

ScalaとJavaの違い 両言語の取扱いの違いについて下記にまとめる。 Scala Java 値の比較 オブジェクトの比較(値等価) オブジェクトの比較(参照等価) オブジェクトの比較(ユーザ定義等価) () 等価性実装のポイント をオーバーライドする 引数の型はクラスの型では…

scalaの変位パラメータ

2019.8.17 12:00#scala

前提 前提として、計数可能な性質を表すを定義する。 は説明と数量を保持する。 ここでは、上記の性質をテーブルゲームに適用し、具体化したものとして、将棋の駒数、麻雀牌の数をモデリングしてみる。 上限境界で与えられる型を限定する の数量が最大であることを表す型を定義してみる。 は型パラメータを持ってお…

scalaパターンマッチ集

2019.7.25 12:00#scala

定数パターン 変数パターン 型付きパターン 型パラメータは消されるので、下記のようなことはできない。 コンストラクタパターン はケースクラスである必要がある。 シールドクラス 基底クラスにシールドクラスを利用することで、全ケース網羅のチェックができる。 シーケンス、タプルパターン で可変長シーケン…

抽出子で柔軟なパターンマッチを行う

2019.7.20 12:00#scala

を実装したオブジェクトを抽出子と呼ぶ。 基本的にコンストラクタパターンにおけるパターンマッチはケースクラスに対して行うものであるが、抽出子を実装することで、ケースクラスでないオブジェクト(上記の例では数値)に対してもパターンマッチを適用することができる。 下記は1~100までの中で平方数を探すプロ…

Copyright 2020 tkzwhr's tech notes. All Rights Reserved. Built with Gatsby.