Browse Source

added haxe.Rest.toString (closes #10011)

Aleksandr Kuzmenko 4 years ago
parent
commit
ba193e4d8c

+ 4 - 0
std/cs/_std/haxe/Rest.hx

@@ -47,4 +47,8 @@ abstract Rest<T>(NativeRest<T>) {
 		result[0] = item;
 		result[0] = item;
 		return new Rest(result);
 		return new Rest(result);
 	}
 	}
+
+	public function toString():String {
+		return toArray().toString();
+	}
 }
 }

+ 4 - 0
std/haxe/Rest.hx

@@ -67,4 +67,8 @@ abstract Rest<T>(NativeRest<T>) {
 		result.unshift(item);
 		result.unshift(item);
 		return new Rest(result);
 		return new Rest(result);
 	}
 	}
+
+	public inline function toString():String {
+		return this.toString();
+	}
 }
 }

+ 4 - 0
std/java/_std/haxe/Rest.hx

@@ -57,4 +57,8 @@ abstract Rest<T>(NativeRest<T>) {
 		result[0] = cast item;
 		result[0] = cast item;
 		return new Rest(result);
 		return new Rest(result);
 	}
 	}
+
+	public function toString():String {
+		return toArray().toString();
+	}
 }
 }

+ 4 - 0
std/lua/_std/haxe/Rest.hx

@@ -48,4 +48,8 @@ abstract Rest<T>(NativeRest<T>) {
 		Table.insert(result, 1, item);
 		Table.insert(result, 1, item);
 		return new Rest(result);
 		return new Rest(result);
 	}
 	}
+
+	public function toString():String {
+		return toArray().toString();
+	}
 }
 }

+ 4 - 0
std/php/_std/haxe/Rest.hx

@@ -43,4 +43,8 @@ abstract Rest<T>(NativeRest<T>) {
 		Global.array_unshift(result, item);
 		Global.array_unshift(result, item);
 		return new Rest(result);
 		return new Rest(result);
 	}
 	}
+
+	public function toString():String {
+		return inline Boot.stringifyNativeIndexedArray(this);
+	}
 }
 }

+ 7 - 0
tests/unit/src/unit/TestRest.hx

@@ -131,6 +131,13 @@ class TestRest extends Test {
 		}
 		}
 		aeq([{f:2}, {f:1}], rest({f:2}, {f:1}));
 		aeq([{f:2}, {f:1}], rest({f:2}, {f:1}));
 	}
 	}
+
+	function testToString() {
+		function rest(...r:Int) {
+			return r.toString();
+		}
+		eq('[1,2,3]', rest(1, 2, 3));
+	}
 }
 }
 
 
 private class Parent {
 private class Parent {