Tag: ocaml
OCaml ist eine strenge, statisch-typisierte, funktionale Programmiersprache mit Fokus auf Aussagekraft, Richtigkeit und Effizienz.
4
Antworten
Ich geschrieben habe, einige state machine in C++ und Java, aber nie in einer funktionalen Sprache wie Ocaml Problem ist, ich weiß nicht, ob ich kann, passen nur code von dem Objekt, Sprachen, Versionen, da in Ocaml
3
Antworten
Habe ich ein wenig Probleme hier, dass ich nicht 100% verstehe: let x = 1 in let x = x+2 in let x = x+3 in x Ich weiß, das Ergebnis dieses Ausdrucks ist 6, sondern wollen
3
Antworten
Könnte mir jemand erklären, was der |> Betreiber übernimmt? Dieser code wurde aus der Referenz hier: let m = PairsMap.(empty |> add (0,1) "hello" |> add (1,0) "world") Kann ich sehen, was es tut, aber ich möchte
1
Antworten
Bin ich beim Lesen ein paar Notizen und kam in diesem code sieht Recht sauber für mich: # let sigma f m = let rec sum (i, z) = if i = m then z else sum(i+1,
2
Antworten
So wie es momentan steht, diese Frage ist nicht eine gute Passform für unsere Q&A-format. Wir erwarten Antworten auf Tatsachen gestützt, Referenzen und know-how, aber diese Frage wird wahrscheinlich werben Debatte, Argumente, polling, oder erweiterte Diskussion. Wenn
3
Antworten
wie Sie eine Funktion schreiben, die gibt die maximale Anzahl von einer Liste von Reihe-Werten, wenn eine vorhanden ist. In dem Fall ist es angesichts der leeren Liste, dann kann Sie nicht der eine Zahl zurückgeben. bekomme
6
Antworten
Ist es wirklich wahr, dass OCaml nicht über eine Funktion, die konvertiert aus einer Liste ein set? Wenn das der Fall ist, ist es möglich, eine generische Funktion list_to_set? Ich habe versucht, eine polymorphe set ohne Glück.
5
Antworten
Ich versuche zu verstehen, eine bestimmte Sache zu ocaml-Modulen und deren Zusammenstellung: bin ich gezwungen zu deklarieren Typen schon erklärt in einem .mli innerhalb der spezifischen .ml Implementierungen? Nur um ein Beispiel zu geben: (* foo.mli *)
3
Antworten
Habe ich eine Art tree wie folgt definiert type 'a tree = Leaf of 'a | Node of 'a * 'a tree * 'a tree ;; Habe ich eine Funktion zu finden, die Tiefe des Baumes wie
4
Antworten
Ich möchte eine Funktion schreiben, die überprüfen könnten, jedes Element in einer Liste ist true oder false. Wenn mindestens ein element ist false zurück true, so dass: assert_eq "checkFalse [true; false; true]" (checkFalse [true; true; true]) false;
6
Antworten
Warum ist es, dass die Funktionen in F# und Ocaml (und vielleicht auch andere Sprachen) sind nicht standardmäßig rekursiv? In anderen Worten, warum hat die Sprache die Designer sich entscheiden, es war eine gute Idee, um explizit
5
Antworten
Lernen die Grundlagen der OCaml, ich bin die Lösung einer der einfach facebook-engineering-Rätsel es zu benutzen. Im wesentlichen, ich möchte etwas tun, wie der folgende Python-code: some_str = some_str.strip() Ist, dass, würde ich mag, um Streifen alle
3
Antworten
gibt es eine Möglichkeit, zu iterieren Liste über Liste über Liste.Karte? Weiß ich, Liste.anzeigen nimmt einzelne Funktion und eine Liste und produziert eine Liste, die die Funktion gilt für alle Elemente. Aber was ist, wenn ich eine
3
Antworten
Ich bin daran interessiert, mit OCaml für ein Projekt, aber ich bin mir nicht sicher, wo seine Parallelisierung Fähigkeiten werden mehr. Gibt es eine message-passing-Fähigkeit in OCaml? Ist OCaml in der Lage, effektiv zu nutzen, mehr als
1
Antworten
Ich versuche, mithilfe der Mustererkennung wird ein zu schreiben ein-Rechner-Anwendung. Zwei Haupttypen wie folgt definiert: type key = Plus | Minus | Multi | Div | Equals | Digit of int;; type state = { lcd: int;
2
Antworten
Möchte ich eine Funktion definieren Sie wie folgt: let f (a: int) (b: int) (c: int) (d: int): int = ... Ist es möglich, die Signatur kürzer, ohne dass Sie ein Tupel? Da will ich noch f
2
Antworten
Ich habe gerade gelesen dieser thread und finde es interessant. Implementiere ich die remove from the left Funktion in ein paar Minuten: (* * remove duplicate from left: * 1 2 1 3 2 4 5 ->
2
Antworten
Möchte ich eine funktionierende version von diesem: let x = "a" ^ 0;; InformationsquelleAutor polerto | 2013-02-17
2
Antworten
Wollte ich mein Projekt kompilieren mit dem Befehl: ocamlfind ocamlopt -package ocamlnet -package batteries -package unix -linkpkg oauth.ml aber ich bin immer folgende Fehlermeldung: ocamlfind: Package `ocamlnet' not found make: *** [oauth.cmi] Error 2 Nachdem einige der
6
Antworten
Nur eine kurze Frage. Ich Frage mich, ob es einen infix-Funktion Zusammensetzung operator in OCaml definiert in der standard-Bibliothek (oder in Jane Street-Kern oder in Batterien) wie die (.) Funktion in Haskell, das erspart uns eine Menge
7
Antworten
Habe ich mir Gedanken zu dieser Frage sehr lange, aber konnte wirklich nicht finden, die Antwort auf Google, als auch eine ähnliche Frage auf Stackoverflow. Wenn es ein Duplikat ist, tut mir Leid. Viele Leute scheinen zu
3
Antworten
Okay also ich mache einen lexer und einen parser mit Ocamlyacc. Ich habe meine Forschung getan, und ich denke, dass es etwas zu tun mit meinem makefile nicht die Wahl der richtigen bit-version für meinen compiler oder
2
Antworten
Habe ich eine Liste von Tupeln der form (string, int). Ich versuche, die Suche durch die Liste und die Rückgabe der Tupel, deren string-Komponente entspricht der parameter, wie in: let find_tuple string_name tuples_list = Wie kann ich
4
Antworten
Hallo, ich würde gerne abholen einer FP-Sprache (es ist immer ein Schmerz, wenn Sie arbeiten in einer position, die nicht erfordert Sie viel lernen), und nach einigen Forschung, ich fühlte Erlang und OCaml sind die zwei, die
4
Antworten
Möchte ich zum konvertieren eines char in einen string, aber ich habe nicht gefunden, eine Funktion string_of_char. Ich möchte, dass die Verwendung nur Funktionen aus Pervasives. Ich wirklich empfehlen Sie, zu lernen, ocaml formal, hier ist die
5
Antworten
Habe ich nie verwendet, Vi oder Vim, aber es scheint, dass es die beste option zu Bearbeiten OCaml-Dateien. Leider bin ich verloren mit so viele Dinge zu kümmern: ocaml-vi-addon, vi-Skripte, otags etc. Brach ich meine anfängliche Angst
2
Antworten
In OCaml, die ich verwenden kann Printf.printf Ausgabe formatierte string, wie Printf.printf "Hello %s %d\n" world 123 Jedoch printf ist eine Art von output. Was ich mir Wünsche ist nicht für Leistung, sondern für eine Zeichenkette. Zum
6
Antworten
So ist dies eine Möglichkeit, append von zwei Listen: let rec append l1 l2 = match l1 with | h :: t -> h :: append t l2 | -> l2 Aber ich bin versucht zu
10
Antworten
In reinen funktionalen Sprachen wie Haskell gibt es einen Algorithmus, um die inverse einer Funktion (edit), wenn es bijektive? Und gibt es eine bestimmte Art und Weise zu Programmieren, Ihre Funktion, so dass es ist? Mathematisch ist
3
Antworten
Für eine Liste, die Sie tun können, pattern-matching und Durchlaufen, bis das N-te element, aber für ein Tupel, wie würden Sie schnappen Sie sich das N-te element? Wie die nachfolgenden Antworten zeigen, bist du mit Tupeln falsch.
11
Antworten
Möchte ich erstellen eine Liste der zahlen von 1 bis n ist. Kann ich dies in Python mithilfe von range(1, n+1), und in Haskell mithilfe: nehmen Sie die n (iterate (1+) 1). Was ist die richtige OCaml-idiom
6
Antworten
Wenn ich zwei Listen in OCaml, zum Beispiel e1 = [3; 4; 5; 6; 7] und e2 = [1; 3; 5; 7; 9] Ist es ein effizienter Weg, um die Schnittmenge dieser beiden Listen? I. e.: [3;
1
Antworten
In common lisp, können wir die remove Funktion. Es scheint, gibt es keine solche Methode in OCaml ? Wie genau sollte das entfernen getan werden? Willst du einfach nur filter der Liste? (remove, zumindest in der Common
3
Antworten
Ich habe versucht, verwenden um eine Zeichenfolge übergeben, um eine umgekehrte Zeichenfolge. Warum kann ich nicht tun: let rec reverse x = match x with | "" -> "" | e ^ s -> (reverse s) ^
9
Antworten
Sprechen, um eine Reihe von quants /hedgies, kam ich zu dem Schluss, dass eine große Anzahl von Ihnen zu sein scheinen entweder mit einer homebrew-Sprache oder OCaml ist für viele Aufgaben. Was viele von Ihnen nicht beantworten
4
Antworten
Ich bin neu in Ocaml, nur wollen, stellen Sie sicher, wie führen Sie eine einfache Funktion wie die Rückkehr der N-te element einer Liste durch die Verwendung von rekursiven Funktion? Prototyp wie get_nth (list, n) mit int
1
Antworten
Ich würde gerne etwas wie das hier tun String.concat '\n' [str1; str2 ... strn] so, ich kann drucken in eine Datei. Aber ocaml erlaubt mir nicht, das zu tun. Was kann ich tun? InformationsquelleAutor EBM | 2012-04-03
4
Antworten
Wenn ich ein Objekt haben, wie kann ich bestimmen seine Art? (Gibt es eine OCaml-äquivalent zu Java ist instanceof Betreiber?) könnte Sie post code, denn normalerweise kennen Sie den Objekttyp wenn Sie die Verarbeitung InformationsquelleAutor Nick Heiner
3
Antworten
Schrieb ich eine Funktion, die fügt alle Elemente der übergebenen Liste: let rec add = function ->0 | h::t->h+add(t);; Möchte ich nun schreiben die gleiche Funktion, aber mit List.fold_left, aber ich habe versucht, einige änderungen, aber ich
3
Antworten
Wie kann ich das implementieren dieser Funktion die harte Weise, ohne die @ Betreiber ? let rec append l i = (* For example, if l is a list [1;2] and i is an integer 3 append
1
Antworten
Ich versuche zu finden, die die Länge einer Liste in ocaml. Rufe ich eine Funktion zuerst aufgerufen > let get_list_length e in > print_list_length out x den tatsächlichen code get_list_length ist, wo ich verwirrt bin. Das "e"
2
Antworten
Habe ich eine Funktion erstellen, die Anzeige von jedem element aus einer Menge von strings. Ich habe die folgenden: module S = Set.Make(String);; module P = Pervasives;; let write x = ( P.print_string("{"); let first = true;
4
Antworten
Wenn ich mit Some und None combo in eine Liste, was wäre der Datentyp der Liste? Ist es immer 'a? Oder gibt es irgendeine Art von einer Art, für Some/None? let listVar : (* type here *)
3
Antworten
So laden Sie eine Datei MeineDatei.ml, dass ich es verwenden kann, meine Datei ? Und wo sollte ich diese Datei zu compilator finden ? Ich kann es jetzt nicht tun. Vielen Dank im Voraus! InformationsquelleAutor user3077133 |
1
Antworten
Während der Arbeit an meinem compiler bekam ich diese Fehlermeldung: Program received signal SIGSEGV, Segmentation fault. __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:33 Wie bekomme ich die details von dem, was hier schief gelaufen? Ich weiß aus dem backtrace es
3
Antworten
Scheint es, als ob es keine Funktion in der standard library des Typs char -> string -> string, das einfügen eines char vor (oder am Ende) einen string. Es gibt workarounds, z.B. durch die Verwendung von String.make
2
Antworten
Warum tritt dieses Verhalten auf? # Printf.sprintf ("Foo %d %s") 2 "bar";; - : string = "Foo 2 bar" # Printf.sprintf ("Foo %d" ^ " %s") 2 "bar";; Printf.sprintf ("Foo %d" ^ " %s") 2 "bar";; Error:
4
Antworten
Gibt es eine Funktion, die für ganzzahlige Potenzierung in OCaml? ** nur für Schwimmer. Obwohl es scheint meist richtig, gibt es nicht eine Möglichkeit, Präzision Fehler, so etwas wie 2. ** 3. = 8. false zurückgeben, manchmal?
3
Antworten
Ich bin neu in OCaml, ich versuche zu verstehen, wie Sie sind, soll der Wert aus einem " a-option. Nach den doc an http://ocaml-lib.sourceforge.net/doc/Option.html, es ist ein get-Funktion vom Typ 'a option ->', eine, die tut, was
2
Antworten
Will ich mit OCaml, generiert Daten-sets und stellen Sie Vergleiche zwischen Ihnen. Ich habe die Dokumentation gesehen für Modul-Typen wie Set.OrderType, Set.Make usw, aber ich kann nicht herausfinden, wie zu initialisieren, einen Satz oder anderweitig zu verwenden.