Wow, I never knew classes could implement* lambdas in kotlin.. this is awesome!
Copy code
class DivisionMethod(val m: Int) : (Int) -> Int {
override fun invoke(k: Int) = k % m
}
class OpenAddressedHashTable<E: Any>(val size: Int, val h: (Int) -> Int = DivisionMethod(size))