summaryrefslogtreecommitdiff
path: root/src/lstrlib.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/lstrlib.js')
-rw-r--r--src/lstrlib.js10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/lstrlib.js b/src/lstrlib.js
index 96a33f5..11b266a 100644
--- a/src/lstrlib.js
+++ b/src/lstrlib.js
@@ -35,10 +35,20 @@ const str_upper = function(L) {
return 1;
};
+const str_rep = function(L) {
+ let s = lauxlib.luaL_checkstring(L, 1);
+ let n = lauxlib.luaL_checkinteger(L, 2);
+ let sep = lauxlib.luaL_optstring(L, 3, "");
+
+ lapi.lua_pushstring(L, (s + sep).repeat(n - 1) + s);
+ return 1;
+};
+
const strlib = {
"char": str_char,
"len": str_len,
"lower": str_lower,
+ "rep": str_rep,
"upper": str_upper
};