История изменений
Исправление uin, (текущая версия) :
Забавно это слышать от того, кто про ad-hoc полиморфизм узнал только из этого треда.
Даже из этого треда не узнал, я спросил как метод value определяет какое значение ему возвращать, мне написали пример из которого понятно что в него просто указатель на эту самую переменную падает, а дальше уже понятное дело можно от этого спокойно танцевать.
«Полиморфизм» согласно википедии это просто какое то широкое понятие означающее способность одной функции обрабатывать разные типы данных - вообще не про то.
Типизация может быть сколь угодно строгой, но если информация о типах доступна только в рантайме, то толку от неё на этапе статического анализа ноль целых хрен десятых.
А на что тебе везде статический анализ?
function sum(a, b) {
return a + b
}
def sum(a, b)
return a + b
end
Вот ты функцию написал и складываешь через нее любые типы
sum(1, 3.2)
sum("крым", "наш")
итд итпfunc sayHello(name: String) {
print("Hello, \(name)!")
}
let name = CommandLine.arguments[1]
sayHello(name: name)
Вот какой тут смысл информации о типе?
И да - неймов мало, нужно больше неймов.
Исправление uin, :
Забавно это слышать от того, кто про ad-hoc полиморфизм узнал только из этого треда.
Даже из этого треда не узнал, я спросил как метод value определяет какое значение ему возвращать, мне написали пример из которого понятно что в него просто указатель на эту самую переменную падает, а дальше уже понятное дело можно от этого спокойно танцевать.
«Полиморфизм» согласно википедии это просто какое то широкое понятие означающее способность одной функции обрабатывать разные типы данных - вообще не про то.
Типизация может быть сколь угодно строгой, но если информация о типах доступна только в рантайме, то толку от неё на этапе статического анализа ноль целых хрен десятых.
А на что тебе везде статический анализ?
function sum(a, b) {
return a + b
}
def sum(a, b)
return a + b
end
Вот ты функцию написал и складываешь через нее любые типы sum(1, 3.2) sum(«крым», «наш») итд итп
func sayHello(name: String) {
print("Hello, \(name)!")
}
let name = CommandLine.arguments[1]
sayHello(name: name)
Вот какой тут смысл информации о типе?
И да - неймов мало, нужно больше неймов.
Исходная версия uin, :
Забавно это слышать от того, кто про ad-hoc полиморфизм узнал только из этого треда.
Даже из этого треда не узнал, я спросил как метод value определяет какое значение ему возвращать, мне написали пример из которого понятно что в него просто указатель на эту самую переменную падает, а дальше уже понятное дело можно от этого спокойно танцевать.
«Полиморфизм» согласно википедии это просто какое то широкое понятие означающее способность одной функции обрабатывать разные типы данных - вообще не про то.
Типизация может быть сколь угодно строгой, но если информация о типах доступна только в рантайме, то толку от неё на этапе статического анализа ноль целых хрен десятых.
А на что тебе везде статический анализ?
function sum(a, b) {
return a + b
}
[br]def sum(a, b)[br] return a + b[br]end
Вот ты функцию написал и складываешь через нее любые типы sum(1, 3.2) sum(«крым», «наш») итд итп
func sayHello(name: String) {
print("Hello, \(name)!")
}
let name = CommandLine.arguments[1]
sayHello(name: name)
Вот какой тут смысл информации о типе?
И да - неймов мало, нужно больше неймов.