6
Poniższe zadziała:Jak mapować przez sekwencję metod Javy być wykonywane
(map #(%1 "21") [identity])
Jednak poniższy kod nie
(map #(%1 "21") [.toString])
Jak mogę utworzyć nast/zbiór metod Javy?
Poniższe zadziała:Jak mapować przez sekwencję metod Javy być wykonywane
(map #(%1 "21") [identity])
Jednak poniższy kod nie
(map #(%1 "21") [.toString])
Jak mogę utworzyć nast/zbiór metod Javy?
Metody Java nie są obywatelami pierwszej klasy, jak funkcje w clojure. Nie można przekazywać metod java jako parametrów, zwracać ani przechowywać w zmiennych i kolekcjach. Ale można utworzyć funkcję memfn lub tylko anonimową funkcję, która owija pierwotne połączenie metody
(map #(%1 21) [(memfn toString)])
=> ("21")
(map #(%1 21) [#(.toString %)])
=> ("21")
masz odpowiedź, ale jestem przede wszystkim dotyczy przypadków użycia, które doprowadziły do zadać pytanie. Nie mogę tego znaleźć. Wolałbym je skompilować, aby zbudować funkcję do wykonania. –