Mam następującą definicję klasy Scala (znaleziono w papierze), modelowanie Kategorie:Scala ~> (tylda większe niż) operatora
trait Category[~>[_, _]] {
def compose[A, B, C]
(f: B ~> C)
(g: A ~> B)
: A ~> C
def id[A]: A ~> A
}
może ktoś mi wyjaśnić, co „~>” oznacza w kategorii typ parametru i typ zwracany przez metodę? lub skierować mnie do zasobu, który wyjaśnia to ... Jestem nowy w Scala (pochodzące od Java), więc wybacz mi, jeśli to coś scala użytkownik powinien wiedzieć ... góry dziękuję
teraz jest jaśniej ... Myślę, że będzie przyzwyczaić się do korzystania dziwne char nazwać rzeczy (w przeciwieństwie do Javy). Pomyślałem, że "~>" znaczy coś specjalnego, ale można je zastąpić czymkolwiek, ponieważ rozumiem to poprawnie. Dziękuję bardzo! – Andrea
Tak, jest to całkowicie dowolne (oczywiście w ramach zasad nazewnictwa Scali dotyczących identyfikatorów). – Debilski
Nawiasem mówiąc: powodem, dla którego wybrano "operatora", czyli znaki operatora, a nie znaki literowe, była nadzieja, że w dziedzinie teorii kategorii ~> łatwo przekłada się na koncepcję "morfizmu" (znanego też jako "mapowanie"). , "strzałka" itp.). Zwykle powinieneś uważać na operatorów. –