generic-programming

Eine Art der Programmierung, bei der Algorithmen abstrahierend von konkreten Datentypen implementiert werden. Gewöhnlich wird auf stark typisierte Sprachen Bezug genommen. Dieser Ausdruck wird normalerweise als eine Software betrachtet, die hinsichtlich der Anforderungen des Datentyps minimal ist und für jeden übereinstimmenden Datentyp instanziiert werden kann, ohne den Angerufenen-Code zu ändern.
0
Antworten

Generische GHC-Rewrite-Regeln

Ich habe kürzlich alterF function zu Data.Map hinzugefügt, was eine umgedrehte Form von Control.Lens.At.at ist. %Vor% alterF wurde entwickelt, um selbst für sehr "schwere" Funktoren wie [] eine angemessene Leistung bieten zu k...
22.05.2016, 22:15
5
Antworten

Wie machen Sie generische Programmierung in Haskell?

Aus C ++ kommend finde ich generische Programmierung unentbehrlich. Ich frage mich, wie sich die Leute in Haskell nähern? Wie schreibt man generische Swap-Funktionen in Haskell? Gibt es ein äquivalentes Konzept der partiellen Spezialisieru...
18.12.2008, 07:09
3
Antworten

___ answer18220463 ___

Karte ist eine Schnittstelle. Sie müssen Java mitteilen, welche konkrete Map-Klasse Sie instanziieren möchten.

%Vor%

oder

%Vor%

usw.

    
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ tag123list ___ Liste kann sich beziehen auf: eine verkettete Liste (eine geordnete Menge von Knoten, die jeweils auf ihren Nachfolger verweisen) oder eine Form eines dynamischen Arrays. Um nicht für HTML-Listen verwendet zu werden, verwenden Sie stattdessen [html-lists]. ___ tag123map ___ Ein Wörterbuch (oder eine Karte) in der Informatik ist eine Datenstruktur, die Schlüssel auf Werte abbildet, so dass der entsprechende Wert eines Schlüssels effizient abgerufen werden kann. Bei Fragen zu Mapping-Funktionen über Datensammlungen verwenden Sie bitte das Tag [map-function]; und für Geographie, [Karten]. ___ tag123generische Programmierung ___ Eine Art der Programmierung, bei der Algorithmen abstrakt von konkreten Datentypen implementiert werden. Gewöhnlich wird auf stark typisierte Sprachen Bezug genommen. Dieser Begriff wird normalerweise als Software erstellt, die hinsichtlich der Anforderungen des Datentyps minimal ist und für jeden übereinstimmenden Datentyp instanziiert werden kann, ohne den Angerufenen-Code zu ändern. ___ answer18220450 ___
%Vor%

oder wie gparyani kommentierte:

%Vor%

Hinweis: Jeder Eintrag muss eine instanziierte Liste als Wert erhalten. Sie können nicht erhalten ("myKey"). Add ("some_string_for_this_key"); Beim allerersten Mal bekommst du eine Liste davon.

Also, holen Sie eine Liste, überprüfen Sie, ob es null ist.

Wenn es null ist, erstellen Sie eine neue Liste, fügen Sie die Zeichenfolge hinzu, legen Sie die Liste zurück. Wenn es alles andere als null ist, füge es hinzu oder mach was du willst.

    
___ answer18220455 ___

Sie haben vergessen, die Klasse zu erwähnen. %code% ist hier der Referenztyp und ist eine Schnittstelle . %code% auf der anderen Seite von equals gibt den tatsächlichen -Typ des Objekts an, das erstellt und dem Verweis %code% zugewiesen wurde.

%Vor%

Der angegebene tatsächliche Typ ( %code% hier) muss dem Referenztyp zuweisbar sein ( %code% hier), dh wenn der Referenztyp eine Schnittstelle ist, der Typ des Objekts muss implementieren . Und wenn der Typ des Verweises eine Klasse ist, muss der Typ des Objekts entweder dieselbe Klasse oder sein Subtyp sein, dh er erstreckt sich davon .

Ab Java 7 können Sie eine Kurzschrift wie

verwenden %Vor%

Ihre zweite Art der Instanziierung ist nicht empfohlen. Bleiben Sie bei der Verwendung von %code% , das eine Schnittstelle ist.

%Vor%     
___

___ answer18220463 ___ Karte ist eine Schnittstelle. Sie müssen Java mitteilen, welche konkrete Map-Klasse Sie instanziieren möchten. %Vor% oder %Vor% usw.      ___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript ode...
13.08.2013, 22:40
3
Antworten

Gruppieren von Datentypen nach Konstruktor in Haskell

Gegeben diesen Datentyp %Vor% und eine Liste wie %Vor% wie Elemente in vals in diese Liste gruppiert werden, %Vor%     
22.10.2014, 05:15
4
Antworten

Traversieren und Filtern eines Baumes in Haskell

Ich bin ziemlich neu in Haskell (arbeite noch an total verständnisvollen Monaden). Ich habe ein Problem, wo ich eine baumartige Struktur habe %Vor% Was ich tun möchte, ist in der Lage, dies zu durchqueren und einen neuen Baum mit einem Filte...
25.02.2010, 23:55
1
Antwort

Ableiten von Standardinstanzen mit GHC.Generics

Ich habe eine Typklasse Cyclic , für die ich generische Instanzen bereitstellen möchte. %Vor% Gegeben eine Summenart von Nullkonstruktoren, %Vor% Ich möchte eine Instanz erzeugen, die dieser entspricht: %Vor% Ich habe versucht, die...
03.04.2014, 23:39
5
Antworten

was könnte diese generische Klassendeklaration bedeuten?

Ich weiß, das ist keine gute Frage, die ich stellen kann, und ich werde vielleicht verflucht, um sie zu fragen, aber ich kann keinen Platz finden, um Hilfe zu dieser Frage zu bekommen. Unten ist eine generische Klasse, die in meiner Interview...
24.09.2011, 07:17
4
Antworten

In C, generische Container oder sichere Container?

In C ++ können Sie sowohl generische als auch typsichere Container verwenden, indem Sie Vorlagen verwenden. Wenn Sie jedoch in C generische Container verwenden möchten, müssen Sie (afaik) void* verwenden, was bedeutet, dass Sie die Typsicherh...
29.04.2012, 05:37
6
Antworten

Wie implementiere ich ein generisches Makro in C?

%Vor% Wenn param char * ist, senden Sie sie an func_string . Wenn es int ist, senden Sie es an func_int Ich denke, dass es eine Lösung dafür geben kann, da Variable Typen zur Kompilierzeit bekannt sind.     
31.08.2011, 11:21