Open andychups opened 8 years ago
Привет. Что-то пропустил письмо с уведомлением :(
Ну, тут понятно все. Когда вызывается apply, то неизвестно, в какой именно шаблон мы попадем в рантайме, может даже попадем в несколько шаблонов с разными типами аргументов. Поэтому статически привести аргументы к нужному типу невозможно. С функциями по-другому. Там на стадии компиляции сразу известно, что это за функция и какой тип аргументов она принимает. Поэтому в функциях можно передавать что угодно, оно по возможности приведется к нужному типу. А в шаблоны нужно сразу приводить к тому, что ожидаешь получить.
К сожалению, никак это не исправить, особенность динамического паттерн-матчинга. Вот еще такие же issues: https://github.com/pasaran/yate/issues/230 https://github.com/pasaran/yate/issues/64 https://github.com/pasaran/yate/issues/207
Привет!
Cмущает неконсистентная обработка аргументов в apply и func.
Поясните, пожалуйста, почему вызов функции и apply с передачей аргументов работают по-разному?
{ "value": "Test string value" }
https://f-o-r.github.io/yate-playground/?gistId=b23a3250a222c3bbfa4dd4ae1de85ecc