One of the recent commits do edytora Scala usuwa ograniczenie polegające na łączeniu granic kontekstu/widoku z niejawnymi parametrami. To jest znaczna poprawa, która redukuje ilość blachy, ale jaki był powód wprowadzenia tego ograniczenia wcześniej i jakie konsekwencje możemy się teraz spodziewać?Jaki był powód ograniczania łączenia niejawnych parametrów i ograniczeń widoku/kontekstu?
8
A
Odpowiedz
5
Kontekst i widok granic dodają niejawne parametry. Więc jeśli piszesz:
def f[T : Manifest](l: List[T])(implicit ord: Ordering[T])
istnieją w rzeczywistości, dwa ukryte parametry są przekazywane zamiast jednego. Dopuszczenie tego rodzaju składni z pewnością spowoduje pewne zamieszanie w dół. Ponieważ niejawne użycie parametru staje się coraz powszechniejsze, ze względu na klasy typów, pomocne może być wykonanie czegoś podobnego.
Powiązane problemy
- 1. Jaki był powód wycofania oceny przypisania Swift?
- 2. „NSInvalidArgumentException”, powód: „Nie można przeanalizować formatu ograniczeń”
- 3. Jaki jest powód implementacji IEnumerable i IEnumerator
- 4. Jaki jest cel określania ograniczeń
- 5. Jaki jest powód tego wyjścia?
- 6. Szyny: pomocnik URL do łączenia parametrów URL?
- 7. Scala wiele niejawnych konwersji?
- 8. Używanie niejawnych obiektów w klasach
- 9. Czy istnieje dobry powód do używania parametrów, które zacieniają pola?
- 10. QVector :: append() jaki jest powód jawnego kopiowania?
- 11. Jaki jest powód tego błędu Valgrind?
- 12. Jaki był pierwszy język programowania z wyliczeniami?
- 13. Obejście ograniczania atrybutów ogólnych C#
- 14. Jaki jest właściwy sposób wybierania i łączenia obiektów z LINQ?
- 15. Jaki jest znak @ przed parametrów
- 16. Powód pobierania i wkładania MonadState?
- 17. Laravel 4 - Parametry URI w kontrolerach niejawnych
- 18. Jaki jest preferowany sposób łączenia dwóch zlewów?
- 19. Metody ograniczania formatu renderowania Railsów do html
- 20. Jaki jest najbardziej elegancki sposób łączenia opcji?
- 21. parametrów typu vs. rodzajowych
- 22. Quasiquotes dla wielu parametrów i list parametrów
- 23. Priorytet Ograniczeń Autolayout
- 24. Jaki jest poprawny sposób wymuszania ograniczeń na wartości klas przypadków?
- 25. Dodawanie obiektu UISearchController i programowe programowanie ograniczeń
- 26. funkcja zmiennych parametrów, jak sprawić, by był bezpieczny i bardziej znaczący?
- 27. UITableViewAutomaticDimension łamanie ograniczeń?
- 28. Jak wdrożyć tempo ograniczania korzystania Redis
- 29. sposób ograniczania liczby jednocześnie uruchomionych zadań PBS
- 30. Powód pominięcia AOT?
"Kontekst i widok granic dodają niejawne parametry" >> pewnie, wiem o tym. Byłem raczej zainteresowany, jeśli jest to spowodowane trudnościami technicznymi. –
IMO, nie będąc w stanie używać granic wraz z ukrytymi parametrami może być również bardzo mylące dla początkujących :) –
@Vasil Nie mówię, że to zła decyzja, tylko że dodaje pewnego stopnia ... zamieszanie . Naciśnięcie powyższej funkcji byłoby niedopuszczalne, jak na przykład 'f (Lista (1 -> 2, 2 -> 1)) (Kolejność wg (_.swap))', nawet jeśli to polecenie sprawia, że wszystkie listy parametrów są wypełnione poprawnie. –