Właśnie zaczynam od języka F # i nie mogę znaleźć składni do wykonania inicjalizacji obiektu, jak w C # 3. To znaczy: public class Person { public DateTime BirthDate { get; set; } public string Name { get; set; } } jak napisać w F #: var p = new …
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i prawdopodobnie ponownie otworzyć, odwiedź centrum pomocy, aby uzyskać …
Od jakiegoś czasu zajmuję się programowaniem w języku F # i podoba mi się to. Jednak jedno słowo, które wiem, że nie istnieje w F #, to typy wyższego rodzaju. Przeczytałem materiały o typach wyższego rzędu i myślę, że rozumiem ich definicję. Po prostu nie jestem pewien, dlaczego są przydatne. …
Kiedy robię to let! read = from.AsyncRead bufw F #, blokuje i nie zwraca, dopóki gniazdo TCP nie jest martwe. Czemu? Jak to naprawić? Jego kod: module StreamUtil open System.IO /// copy from 'from' stream to 'toStream' let (|>>) (from : Stream) (toStream : Stream) = let buf = Array.zeroCreate<byte> …
Przepraszamy za niejasny tytuł, ale część tego pytania dotyczy nazw tych dwóch stylów składni: let foo1 x = match x with | 1 -> "one" | _ -> "not one" let foo2 = function | 1 -> "one" | _ -> "not one" Druga część to jaka jest różnica między …
Właśnie zacząłem uczyć się języka F # (z niewielkim wcześniejszym doświadczeniem z .NET), więc wybacz mi prawdopodobnie bardzo proste pytanie: Jaka jest różnica między przestrzenią nazw a modułem w F #? Dzięki Dave Edycja: Dzięki za odpowiedź Brian. To właśnie chciałem wiedzieć. Tylko wyjaśnienie: czy możesz również otworzyć przestrzeń nazw …
Bawię się pomysłem napisania kompilatora JIT i zastanawiam się tylko, czy teoretycznie jest możliwe napisanie całości w kodzie zarządzanym. W szczególności, po wygenerowaniu asemblera w tablicy bajtów, jak wskoczyć do niej, aby rozpocząć wykonywanie?
Po pierwsze, przyznaję, że to pytanie może być powtórzeniem; po prostu daj mi znać. Jestem ciekaw, jaka jest ogólna „najlepsza praktyka” w sytuacjach, gdy pożądana jest zmienność. Wydaje się, że F # oferuje do tego dwie możliwości: let mutablepowiązanie, które wydaje się działać jak zmienne w „większości” języków, oraz komórkę …
Rozumiem, że lista faktycznie zawiera wartości, a sekwencja jest aliasem IEnumerable<T>. Kiedy w praktycznym programowaniu F # powinienem używać sekwencji, a nie listy? Oto kilka powodów, dla których widzę, że sekwencja byłaby lepsza: Podczas interakcji z innymi językami lub bibliotekami .NET, które wymagają IEnumerable<T>. Trzeba przedstawić nieskończoną sekwencję (prawdopodobnie niezbyt …
Bawię się F # i C # i chciałbym wywołać kod F # z C #. Udało mi się zmusić go do odwrotnej pracy w programie Visual Studio, mając dwa projekty w tym samym rozwiązaniu i dodając odwołanie do kodu C # do projektu F #. Po wykonaniu tej czynności …
Próbuję utworzyć funkcję F #, która zwróci sumę listy ints dowolnego zagnieżdżenia. To znaczy. będzie działać dla a list<int>, a list<list<int>>i a list<list<list<list<list<list<int>>>>>>. W Haskell napisałbym coś takiego: class HasSum a where getSum :: a -> Integer instance HasSum Integer where getSum = id instance HasSum a => HasSum [a] …
Uczę się F #. Zacząłem FP z Haskellem i jestem tego ciekawy. Ponieważ F # jest językiem .NET, wydaje mi się, że rozsądniej jest zadeklarować interfejs podobny do klasy typu Mappablehaskell Functor. Ale, jak na powyższym obrazku, funkcje F # są oddzielne i realizowane samodzielnie. Jaki jest cel takiego projektu? …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.