public
Last active

Algorithm with code and function

  • Download Gist
algorisme_codi.d
D
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
// VULL que l'algorisme també desi el codi que he implementat => EXPERIMENTAL
//D 2.0
//gdmd-4.6 <fitxer>
//Algorisme: implementació dels algorismes genèrics i els seves estructures de dades
 
//ordenar alfabèticament:
import std.conv, std.stdio, std.stream, std.string;
import std.socket, std.socketstream;
import std.datetime;
 
class Algorisme(U,V) {
string nom;
uint versio;
alias V delegate (U) Funcio;
Funcio funcio;
string codi;
 
 
this(string nom, uint versio, Funcio funcio, string codi) {
try {
this.nom = nom;
this.versio = versio;
this.funcio = funcio;
this.codi = codi;
 
}
catch {
writeln("Error");
}
}
 
string toString() {
return format("%s (versió %s): %s -> %s, %s(x) = %s", nom, versio, typeid(U), typeid(V), nom, codi);
 
}
}
 
 
alias Algorisme!(int, int) AlgorismeEnters;
 
void main(string [] args)
{
enum codi = "(int a) { return 2 * a; }";
auto f = mixin(codi);
auto alg = new AlgorismeEnters("Doblar", 1, f, codi);
writeln(alg);
 
}

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.