module mod_vtm_helfer { /** * @author kcf */ export class klasse_hashmap { /** * @author kcf */ private hashfunction : (schluessel : typ_schluessel)=>string; /** * @author kcf */ private speicher : {[hashwert : string] : typ_wert}; /** * @author kcf */ public constructor(hashfunction : (schluessel : typ_schluessel)=>string) { this.hashfunction = hashfunction; this.speicher = {}; } /** * @author kcf */ public setzen(schluessel : typ_schluessel, wert : typ_wert) : void { let hashwert : string = this.hashfunction(schluessel); this.speicher[hashwert] = wert; } /** * @author kcf */ public holen(schluessel : typ_schluessel) : schnittstelle_fehlermonade { let hashwert : string = this.hashfunction(schluessel); if (hashwert in this.speicher) { let wert : typ_wert = this.speicher[hashwert]; return (new klasse_schlicht(wert)); } else { return (new klasse_nichts()); } } } }