Uczę się F # i mam pewne doświadczenie z Pythonem. Bardzo lubię konstruktory funkcji Pythona; Zastanawiałem się, czy mamy coś podobnego w F #?Czy jest coś podobnego do dekoratorów funkcji Python w języku programowania F #?
5
A
Odpowiedz
9
Nie ma żadnego cukru syntaktycznego dla dekoratorów funkcji w języku F #.
Dla typów można użyć atrybutu StructuredFormatDisplay
, aby dostosować zawartość printf. Oto przykład z F# 3.0 Sample Pack:
[<StructuredFormatDisplayAttribute("MyType is {Contents}")>]
type C(elems: int list) =
member x.Contents = elems
let printfnSample() =
printfn "%A" (C [1..4])
// MyType is [1; 2; 3; 4]
Dla funkcji, można łatwo wyrazić Python's decorators użyciu złożenie funkcji. Na przykład, this Python example
def makebold(fn):
def wrapped():
return "<b>" + fn() + "</b>"
return wrapped
def makeitalic(fn):
def wrapped():
return "<i>" + fn() + "</i>"
return wrapped
@makebold
@makeitalic
def hello():
return "hello world"
może być tłumaczona na Fis następująco
let makebold fn =
fun() -> "<b>" + fn() + "</b>"
let makeitalic fn =
fun() -> "<i>" + fn() + "</i>"
let hello =
let hello = fun() -> "hello world"
(makebold << makeitalic) hello
Powiązane problemy
- 1. Czy jest coś podobnego do wiadomości #pragma?
- 2. Czy w Elixir jest coś podobnego do metody wysyłania ruby?
- 3. Czy jest coś podobnego do JUnit metodę konfiguracji w Mockito
- 4. Czy jest coś podobnego do memcached, ale do posortowanych list?
- 5. Czy w języku C++ jest coś podobnego do słabego odniesienia w Javie?
- 6. Czy jest coś podobnego do mini-mvc-profiler dla Java?
- 7. Czy jest coś podobnego do Sonara dla Perla?
- 8. Python: skrót do pisania dekoratorów akceptujących argumenty?
- 9. Coś podobnego do Hibernate w PHP?
- 10. Wdrożenie metody dekoratorów w języku C#
- 11. Coś podobnego do java.util w JavaScript?
- 12. Czy istnieje coś podobnego do std :: function before C++ 11?
- 13. Coś podobnego do MySQL Proxy dla PostgreSQL?
- 14. Czy system iOS ma coś podobnego do systemu Android RecyclerView?
- 15. Jaki jest status funkcjonalnego programowania reaktywnego w języku Python?
- 16. Czy można zaimplementować coś podobnego do Scala @BeanProperty z makrami?
- 17. Czy NSView ma coś podobnego do metod UIView setNeedsLayout/layoutSubviews?
- 18. Czy OpenCL AMD oferuje coś podobnego do GPUDirecta CUDA?
- 19. W języku Python, jak sprawdzić, czy linia jest ostatnia?
- 20. Czy angularjs ma coś podobnego do ajaxSetup jQuery?
- 21. Czy jest coś w Pythonie podobne do quantstrat w R?
- 22. Coś podobnego do instrukcji SQL IN w ramach .NET?
- 23. Jak strip dekoratorów z funkcją w python
- 24. Czy Google Code ma coś podobnego do żądań ściągania GitHub?
- 25. jest coś podobnego do asp.net mvc dla winforms lub wpf?
- 26. Appengine with Go: Czy istnieje prehook http.Handle lub coś podobnego?
- 27. Czy clang oferuje coś podobnego do funkcji wielu wersji GCC 6.x (target_clones)?
- 28. Zapisywanie funkcji ewaluacyjnej w języku Python
- 29. CMS w języku programowania funkcjonalnego
- 30. funkcja dekoratorów wC#
Patrz także [równoważnik funkcjonalny z dekorator wzór?] (Http://stackoverflow.com/questions/7064389/functional wzór ekwiwalentny z dekoratora). – nneonneo