Я новичок в дженериках в Swift, и, читая некоторые книги, я наткнулся на кое-что, чего не понимаю. В универсальных функциях, когда уместно использовать параметр типа (справа после имени функции)? а когда неуместно?
Вот пример, где он не используется (только подпись; из стандартной библиотеки):
func sorted(isOrderedBefore: (T, T) -> Bool) -> Array<T>
Вот пример того, где он используется (взято из книги, которую я читаю):
func emphasize<T>(inout array:[T], modification:(T) -> T) {
for i in 0 ..< array.count {
array[i] = modification(array[i])
}
}
Я прочитал справочник по быстрому языку Apple, раздел: Общие параметры и аргументы. Но мне все равно непонятно. Заранее спасибо за любую информацию.