Возможно ли перегрузить функцию с теми же параметрами, но с разными диапазонами? Я пытаюсь реализовать расширение подстроки для Array
для отрицательных индексов, так что если let a = [3, 1, 4]
, a[-1] == 4
, a[-2] == 1
и т. Д. У Swift's Array
уже есть функция индекса, поэтому я не хочу ее заменять, но создаю перегруженную функцию только для отрицательных целых чисел. Это любой способ сделать это? Благодарю.Функция перегрузки с параметрами одного и того же типа, но с разными диапазонами
0
A
ответ
1
Нет, это не так. Подписи функций основаны на параметрах и типах параметров. Это невозможно, потому что компилятор не знал, что делать, если передано какое-то положительное число. Он не может проверить его значение перед вызовом функции.
Смежные вопросы
- 1. Функция перегрузки с параметрами типа типа объекта и строки
- 2. применение шаблонов одного и того же типа, но работа с разными типами декларации
- 3. функция зациклирована в соответствии с setinterval, но с разными параметрами
- 4. javascript: сопоставление одного и того же ключа с разными массивами
- 5. Функция с несколькими типами для одного и того же параметра
- 6. Несколько экземпляров одного и того же весового пакетного задания, выполняющегося в каждом потоке с разными параметрами
- 7. Выполнение одного и того же запроса mysqli с разными параметрами каждый раз
- 8. Экспресс маршруты с таким же пути, но с разными параметрами
- 9. Использование того же столбца с двумя разными параметрами SQL-сервер
- 10. 2 графика основного графика с разными осями y, но одна и та же ось x, но с разными диапазонами
- 11. Общая функция с разными классами (с параметрами)?
- 12. Разный маршрут с разными параметрами для одного и того же метода в laravel
- 13. тип-безопасные вариационные функции с параметрами того же типа
- 14. XML Deserialization: имя одного и того же типа, но различное.
- 15. Два экземпляра одного типа для одного и того же типа
- 16. Сравнение записей одного и того же типа с = и! =
- 17. Создайте приложение с несколькими представлениями одного и того же веб-приложения, но с разными учетными данными?
- 18. несколько экземпляров одного и того же типа
- 19. Ловля одного и того же исключения, брошенного разными методами?
- 20. Тот же метод в производных классах, но с разными параметрами
- 21. Различные ограничения типа для одного и того же экземпляра
- 22. Коллекции объектов с одного и того же «сырого типа», но изменения параметра типа
- 23. RestKit SerializationMimeType - десериализован с использованием одного и того же типа?
- 24. Предоставление нескольких экземпляров одного и того же неявного, специализированного с различными параметрами типа
- 25. Установка того же приложения с разными именами
- 26. SQL - выбор одного и того же столбца дважды, но с разными условиями
- 27. Получите makefile для создания двух целей из одного и того же файла, но с разными флагами
- 28. рельсы 3 - вызов одного и того же контроллера/действия, но с двумя разными изменениями вида
- 29. C# params ключевое слово с двумя параметрами того же типа
- 30. Класс с несколькими свойствами списка одного и того же типа, но с различными ограничениями
В этом ответе http://stackoverflow.com/a/29731961/1187415 показано, как «перегрузить» индекс, определяя настраиваемый тип, который обертывает индекс. –