๐พ ็จๅผ๏ผ โฌ๏ธ ้่ฆ๏ผ HasMirrors
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// 2022.01.27 * (v.1) + log()
// 2022.01.28 / log() use Logger instead
// 2022.01.30 + log() + param `items: [HasMirrors]`
// / log(_ item:) delegate to `HasMirrors` method
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// โญ require `HasMirrors`
/// `log(msg)`
public func log(_ item: HasMirrors) {
_ = item.log()
}
/// `log(items)`
/// โญ benefit:
/// - needn't declare `items` as `HasMirrors`,
/// compiler will infer it.
public func log(_ items: [HasMirrors]) {
items.log()
}
// log(item)
log(true)
log(1.23)
// log(items)
log([
123, "string", 1.23, true,
])
Result:
// โ
// ๐ 1.23
// ๐ 123
// ๐ string
// ๐ 1.23
// โ