Beiträge von Spockman
-
-
-
Zitat von retrogamer2k6
Ich hab jetzt folgendes geschrieben;
Den Grostzeil dieses Codes kannst Du mal wie folgt generieren:
Code(defun make-seq (n sofar) (if (> n 100) sofar (make-seq (+ n 5) `((draw ,n) (turn1) (draw ,n) (turn1) (draw ,n) (turn1) ,@sofar))))
(ist Emacs-Lisp, sehr aehnlich Scheme) (make-seq 5 nil) liefert jetzt:
((draw 100) (turn1) (draw 100) (turn1) (draw 100) (turn1) (draw 95) (turn1) (draw 95) (turn1) (draw 95) (turn1) (draw 90) (turn1) (draw 90) (turn1) (draw 90) (turn1) (draw 85) (turn1) (draw 85) (turn1) (draw 85) (turn1) (draw 80) (turn1) (draw 80) (turn1) (draw 80) (turn1) (draw 75) (turn1) (draw 75) (turn1) (draw 75) (turn1) (draw 70) (turn1) (draw 70) (turn1) (draw 70) (turn1) (draw 65) (turn1) (draw 65) (turn1) (draw 65) (turn1) (draw 60) (turn1) (draw 60) (turn1) (draw 60) (turn1) (draw 55) (turn1) (draw 55) (turn1) (draw 55) (turn1) (draw 50) (turn1) (draw 50) (turn1) (draw 50) (turn1) (draw 45) (turn1) (draw 45) (turn1) (draw 45) (turn1) (draw 40) (turn1) (draw 40) (turn1) (draw 40) (turn1) (draw 35) (turn1) (draw 35) (turn1) (draw 35) (turn1) (draw 30) (turn1) (draw 30) (turn1) (draw 30) (turn1) (draw 25) (turn1) (draw 25) (turn1) (draw 25) (turn1) (draw 20) (turn1) (draw 20) (turn1) (draw 20) (turn1) (draw 15) (turn1) (draw 15) (turn1) (draw 15) (turn1) (draw 10) (turn1) (draw 10) (turn1) (draw 10) (turn1) (draw 5) (turn1) (draw 5) (turn1) (draw 5) (turn1))
Ein bisschen musst Du jetzt noch dazubauen. Es ist wohl auch klar, wie Du von dieser Erzeugung zur Ausfuehrung kommst. Entweder ueber Makro, eval, oder anstatt den Code (symbolisch) aufzubauen direkt die entsprechenden Funktionen aufrufen.
-
Zitat von java-girl
3 Plus (=das beste)
Ungewoehnliche Skala...Zitat
Also hier gibts die Datei
http://christina.redprohosting.de/files/Minesweeper.zip
Offenbar fehlt der Source? -
-
-
Zitat von wuz_thomas
zugriff neu aus der DB holen, frag mich nur gerade ob das bei sehr verteilten systemen wirklich so möglich ist.
Nein, und in Sprachen wie Erlang, die (im Gegensatz zu Java) das Entwickeln von verteilten Systemen erleichtern, gibt es konsequenterweise auch gar keine Moeglichkeit, Objekte zu sharen. http://www.erlang.org
-
Zitat von sauzachn
Ist ja nicht so schwer zu verstehen, oder?Ich weisz nicht, was daran so schwer zu verstehen ist. Wir haben in Java genau dieselbe Situation wie in C++: In beiden Faellen gibt es Implementierungen mit GC, und in beiden Faellen ist GC nicht notwendig, um als "konform" bzgl. ISO oder eigener Suppe zu gelten, und C++ Implementierungen mit GC gab es eher. Worin besteht jetzt die Neuerung "gegenueber C++"?
Zitat
Die Referenzimplementierung, die gleichzeitig (derzeit) die Definition der Sprache ist, enthält aber GC.Ja, genauso wie es C++-Implementierungen mit GC gibt. Und? Das ist keine Garantie fuer GC.
ZitatIch interpretiere das so, dass das "automatic" sicher benötigt wird, aber du dir den Typ aussuchen kannst (Mark and sweep, ... ).
Das enthaelt auch Typ = none.
ZitatAlso hat laut diesem Paper jede Java-Runtime GC zu haben.
Nur falls Du "keine GC" zu GC-Algorithmen zaehlst. Es gibt auch keine sinnvolle Moeglichkeit, das Implementierungs-unabhaengig zu formulieren. Die meisten ISO-standardisierten Sprachen machen darum auch einen Bogen um GC. Es ist, extrapolierend, daher damit zu rechnen, dass in einem ISO Standard fuer Java, sollte es je einen geben, GC entweder gar nicht erwaehnt wird oder so formuliert wird, dass sie nicht erforderlich ist, um als konform zu gelten (etwa: "an implementation is free to reclaim any ...").
-
Zitat von sauzachn
C/C++: hat keine Garbage Collection.
Es gibt genuegend Garbage Collectoren fuer C/C++, und GC macht eine C++ Implementierung nicht non-conforming. GC ist ein C++-Implementierungsdetail, das vorhanden sein kann und oft auch vorhanden ist. Man kann das so daher nicht sagen - der ISO Standard schlieszt es jedenfalls nicht aus, und es gibt im Gegenteil immer wieder Bestrebungen, GC in den Standard zu nehmen. Es scheitert meist daran, dass die exakte Formulierung zu schwierig ist. De facto verwendet ohnehin jeder einen GC zumindest als Leak Detector.
Zitat von sauzachn
Java: hat Garbage Collection.So kann man das nicht sagen. Erstens gibt es mal keinen ISO-Standard, also koennen wir uns nur an die Referenz-Implementierung einer einzigen Firma, und ein paar mehr oder weniger obskure Papers halten. Zweitens: Es gibt (noch?) keine Sprachelemente zur expliziten Deallokation in Java, also wird eine brauchbare Implementierung wohl GC haben. Du kannst Dich aber nicht darauf verlassen. Aus der JVM Specification:
ZitatThe Java virtual machine assumes no particular type of automatic storage management system, and the storage management technique may be chosen according to the implementor's system requirements.
Zitat von sauzachn
Natürlich gibt es GC schon sehr lange, aber eben nicht in C++, und nur auf diese Sprache habe ich mich in meiner Aussage bezogen.Wie gesagt, es gibt GC schon sehr lange, und auch in C++.
-
Zitat von sauzachn
Wenn du schon von Ignoranz sprichst, das "gegenüber C++" hast du überlesen, stimmts?
Ja, und zwar bewusst und zu Deinen Gunsten. Mit dem Zusatz ist die Behauptung ja sogar faktisch falsch, da Garbage Collection nicht mal mehr noch Jahre vor der Entstehung von C++ eine "Neuerung" darstellte. Wie koennte sie es dann spaeter sein? Falls Du den Zeitverlauf in den Begriff der Neuerung nicht einbeziehst und nur Features vergleichst, halte ich in diesem Sinn Lisp-Makros fuer eine sehr wichtige Neuerung "gegenueber Java".
-
Zitat von hal
was bei C++ nicht möglich ist.
Ich kann genausogut Java Bytecode aus sauberem C++ erzeugen und den JIT-Compiler optimieren lassen, wie ich Java auf Maschinencode runterkompilieren kann. Wie ich ein Programm letztlich ausfuehre (VM, Interpreter, Compiler etc.), und wie effizient die gewaehlte Strategie ist, ist doch keine Eigenschaft der Sprache.Garbage collection ist eine Selbstverstaendlichkeit fuer jede high-level Sprache seit den 60ern. Sie als "sehr wichtige Neuerung" zu bezeichnen ist entweder an Ignoranz oder Humor schwer zu ueberbieten.
-
-
Zitat von rose1000
i have a text file and lines in it, i need to get the contents of the file line by line to a list in my program..Codemain = do c <- getContents let ls0 = lines c let ls1 = map process_line ls0 putStr (unlines ls1) process_line xs = drop 3 xs
Now:$ cat txt
1232652
20aeusatheou
3209625209856
aoeu',l.cry,'rcg$ cat txt | runhugs test.hs
2652
eusatheou
9625209856
u',l.cry,'rcg -
-
-
Verwend java.math.BigDecimal zum exakten Rechnen mit arbitrary-precision Dezimalzahlen in Java.
-
Zitat von morgan
Wir versuchen in einen Vektor die Implementierung einer abstrakten Klasse als Pointer einzufügen, der Debugger meldet bei push_back einen uns unerklärlichen Fehler. Hier die Klassen-Hierarchie:
virtual vector<FractalPosition>* generatePositions() = 0;
Wieso ist fractals auch ein Pointer (auf einen Vektor)? Hast Du das Objekt schon mit new angelegt? Ein Vektor sollte reichen.
-
-
Zitat von NonSense
Na ja, danke. Aber mir interessiert wie man es selbst ausprogramieren kann. Ohne das eingebaute Prädikat zu nutzen. Hab es mit diesem delete versucht aber eine Sache gefällt mir nicht. Wenn ich z.B. eine Liste [a,b,b,c] habe und möchte das Element b löschen. Kann man das irgendwie machen, dass nur das erste b gelöscht wird und nicht jede b?
Klar, hier eine Version:Code
Alles anzeigenloesch(Elem, List0, List) :- loesch_(List0, Elem, List). loesch_([], _, []). loesch_([L|Ls], Elem, Result) :- ( L == Elem -> Result = Ls ; Result = [L|Rest], loesch_(Ls, Elem, Rest) ).
Ich habe dabei das Hilfspraedikat loesch_/3 eingefuehrt, bei dem die ersten beiden Argumente vertauscht werden um first-argument indexing zu ermoeglichen.
-
Zitat von klausi
Mir war grad langweilig, also habe ich mir ein kleines programm in prolog geschrieben, dass mir ein beliebiges sudoku-rätsel löst.Verwend den FD-Constraint-Solver von SWI (library(bounds)). Tipp: all_different/1 Constraint, bzw. all_distinct/1 aus library(clp_distinct). Du findest eine effiziente Loesung in einem alten Thread hier: http://www.informatik-forum.at/showthread.php?t=38825