Charles.Forsyth20060303a828770d19 years agoHistory
57 lines · 1010 B · Brainfuck
RawDownload
implement Dictionary; ## This is intended to be a simple dictionary of string tuples# It is not intended for large data sets or efficient deletion of keys# include "dict.m"; Dict.add( d: self ref Dict, e: (string, string) ){	if (d.entries == nil) 		d.entries =  e::nil;	else 		d.entries = e::d.entries;} Dict.delete( d: self ref Dict, k: string ){	key : string;	newlist : list of (string, string);	temp := d.entries; 	while (temp != nil) {		(key,nil) = hd temp;		if (key != k)			newlist = (hd temp)::newlist;		temp = tl temp;	}	d.entries = newlist;} Dict.lookup( d: self ref Dict, k: string ) :string{	key, value :string;	temp := d.entries;	while (temp != nil) {		(key,value) = hd temp;		if (key == k)			return value;		temp = tl temp;	}	return nil;} Dict.keys( d: self ref Dict ) :list of string{	key: string;	keylist : list of string;	temp := d.entries;	while (temp != nil) {		(key, nil) = hd temp;		keylist = key::keylist;		temp = tl temp;	}	return keylist;}