Browse Source

added remove.

Nicolas Cannasse 19 years ago
parent
commit
8a2f9875c1
1 changed files with 15 additions and 0 deletions
  1. 15 0
      std/Hash.hx

+ 15 - 0
std/Hash.hx

@@ -69,6 +69,21 @@ class Hash<T> {
 		#end
 		#end
 	}
 	}
 
 
+	public function remove( key : String ) : Bool {
+		#if flash
+		if( !exists(key) ) return false;
+		untyped __delete__(h,key);
+		return true;
+		#else js
+		if( !exists(key) ) return false;
+		untyped __js__("delete this.h[key]");
+		return true;
+		#else neko
+		return untyped __dollar__hremove(h,key.__s,null);
+		#else error
+		#end
+	}
+
 	public function keys() : Iterator<String> {
 	public function keys() : Iterator<String> {
 		#if flash
 		#if flash
 		return untyped (__keys__(h)).iterator();
 		return untyped (__keys__(h)).iterator();