ぜのぜ

しりとりしようぜのぜのぜのぜ

136日目

日記

今日の昼に作った塩焼きそばがめちゃくちゃ美味かった.

今日書いたコード

https://docs.swift.org/swift-book/ReferenceManual/Patterns.html

class Hoge {}
class Fuga: Hoge {}

print(Fuga.self is Hoge.Type) // true
print(Hoge.self is Hoge.Type) // true

let point = (1, 2)
// Overload the ~= operator to match a string with an integer.
func ~= (pattern: String, value: Int) -> Bool {
    return pattern == "\(value)"
}
switch point {
case ("0", "0"):
    print("(0, 0) is at the origin.")
default:
    print("The point is at (\(point.0), \(point.1)).")
}
// Prints "The point is at (1, 2)."

感想

Expression Patternでパターンマッチするときは~=が使われるので,ユーザがoverloadして任意の判定を実装することができる.便利そう.