我有一个示例:
<div class="collapse navbar-collapse">
<?= $this->navigation('navigation')
->menu()
->setMinDepth(0)
->setMaxDepth(0)
->setUlClass('nav navbar-nav') ?>
此代码编译并运行。但我不喜欢:
1)我还必须声明2个扩展名。
2)我必须复制struct Test<T: SignedNumeric & Comparable> {
let n: T
init(n: T) {
self.n = n
}
}
extension Test where T: BinaryInteger {
func half() -> T {
return self.n / 2
}
func printHalf() {
print(self.half())
}
}
extension Test where T: FloatingPoint {
func half() -> T {
return self.n / 2
}
func printHalf() {
print(self.half())
}
}
Test(n: 2).printHalf() // print "1"
Test(n: 2.2).printHalf() // print "1.1
方法。
如何正确实施此示例? (方法中只有printHalf
?)