Jeder, der lange genug an Python bastelt, wurde von folgendem Problem gebissen (oder in Stücke gerissen): def foo(a=[]): a.append(5) return a Python-Neulinge würden erwarten, dass diese Funktion immer eine Liste mit nur einem Element zurückgibt : [5]. Das Ergebnis ist stattdessen sehr unterschiedlich und sehr erstaunlich (für einen Anfänger): >>> …
Warum unterstützt Java keine Ganzzahlen ohne Vorzeichen? Es scheint mir eine seltsame Auslassung zu sein, da sie es einem ermöglichen, Code zu schreiben, der bei unerwartet großen Eingaben weniger wahrscheinlich zu Überläufen führt. Darüber hinaus kann die Verwendung von Ganzzahlen ohne Vorzeichen eine Form der Selbstdokumentation sein, da sie darauf …
Der C # -Compiler verlangt, dass ein benutzerdefinierter Typ, der den Operator definiert ==, auch definiert werden muss !=(siehe hier ). Warum? Ich bin gespannt, warum die Designer dies für notwendig hielten und warum der Compiler nicht für einen der Operatoren eine vernünftige Implementierung verwenden kann, wenn nur der andere …
Eine der nützlichsten Funktionen von Java 8 sind die neuen defaultMethoden für Schnittstellen. Es gibt im Wesentlichen zwei Gründe (es kann andere geben), warum sie eingeführt wurden: Bereitstellung der tatsächlichen Standardimplementierungen. Beispiel:Iterator.remove() Berücksichtigung der JDK-API-Evolution. Beispiel:Iterable.forEach() Aus Sicht eines API-Designers hätte ich gerne andere Modifikatoren für Schnittstellenmethoden verwenden können, z …
Also hörte ich all die Jahre endlich auf, meine Füße zu schleppen und beschloss, JavaScript "richtig" zu lernen. Eines der am meisten kratzenden Elemente des Sprachdesigns ist die Implementierung der Vererbung. Nachdem ich Erfahrung mit Ruby hatte, freute ich mich sehr über Schließungen und dynamisches Tippen. Aber für mein Leben …
Geschlossen . Diese Frage muss fokussierter sein . Derzeit werden keine Antworten akzeptiert. Geschlossen vor 5 Jahren . Gesperrt . Diese Frage und ihre Antworten sind gesperrt, da die Frage nicht zum Thema gehört, aber historische Bedeutung hat. Derzeit werden keine neuen Antworten oder Interaktionen akzeptiert. Gibt es Ruby / …
Warum unterstützen nicht mehr statisch typisierte Mainstream-Sprachen das Überladen von Funktionen / Methoden nach Rückgabetyp? Mir fällt nichts ein. Es scheint nicht weniger nützlich oder vernünftig zu sein, als die Überladung nach Parametertyp zu unterstützen. Wie kommt es, dass es so viel weniger beliebt ist?
Ich bin gerade auf eine interessante Situation in JavaScript gestoßen. Ich habe eine Klasse mit einer Methode, die mehrere Objekte in Objekt-Literal-Notation definiert. In diesen Objekten wird der thisZeiger verwendet. Aus dem Verhalten des Programms habe ich abgeleitet, dass sich der thisZeiger auf die Klasse bezieht, für die die Methode …
Ich kann nicht verstehen, warum Python keine signFunktion hat. Es hat ein abseingebautes (was ich als signSchwester betrachte), aber neinsign . In Python 2.6 gibt es sogar eine copysignFunktion (in Mathe ), aber kein Vorzeichen. Warum sich die Mühe machen, eine zu schreiben, copysign(x,y)wenn man einfach eine schreiben signund dann …
Mit Java5 können wir schreiben: Foo[] foos = ... for (Foo foo : foos) oder einfach ein Iterable in der for-Schleife verwenden. Das ist sehr praktisch. Sie können jedoch keine generische Methode für iterable wie folgt schreiben: public void bar(Iterable<Foo> foos) { .. } und es mit einem Array aufrufen, …
Ich habe in letzter Zeit einiges mit Anbietern zusammengearbeitet und bin auf eine interessante Situation gestoßen, in der ich eine abstrakte Klasse mit einer abstrakten statischen Methode haben wollte. Ich habe ein paar Beiträge zu diesem Thema gelesen und es hat irgendwie Sinn gemacht, aber gibt es eine schöne klare …
Suchen Sie nach den Grundlagen, woher der Begriff " nichtig " stammt und warum er als nichtig bezeichnet wird. Die Frage soll jemandem helfen, der keine C-Erfahrung hat und plötzlich eine C-basierte Codebasis betrachtet.
Der folgende Code ist falsch (siehe ideone ): public class Test { public static void Main() { int j = 5; (j++); // if we remove the "(" and ")" then this compiles fine. } } Fehler CS0201: Nur Anweisungen für Zuweisung, Aufruf, Inkrementieren, Dekrementieren, Warten und neue Objekte können …
Aus Effective Java von Joshua Bloch, Arrays unterscheiden sich vom generischen Typ in zwei wichtigen Punkten. Erste Arrays sind kovariant. Generika sind unveränderlich. Kovariante bedeutet einfach, wenn X der Subtyp von Y ist, dann ist X [] auch der Subtyp von Y []. Arrays sind kovariant, da der String der …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.