# HG changeset patch # User Matthew Wild # Date 1290567195 0 # Node ID 055fe658d0b212f98293c74308483583331ba710 # Parent f9bb0e212d28e57aee5b5c962d690e855b5f245c Implement string.find (mostly) and string.sub diff -r f9bb0e212d28 -r 055fe658d0b2 lvm.js --- a/lvm.js Wed Nov 24 02:52:37 2010 +0000 +++ b/lvm.js Wed Nov 24 02:53:15 2010 +0000 @@ -898,6 +898,36 @@ }; var string = { + "char": function () + { + var nArgs = arguments.length; + if(nArgs < 1) + throw "string.char(): Expects at least 1 parameter"; + var results = []; + for(var i=0; i 2) + throw "string.find(): No more than the first 2 arguments supported"; + var re = _patternToRegExp(patt.value); + var result = re.exec(str); + if(!result) + return [this.LValue(null)]; + var start = result.index+1; + var end = start + result[0].length - 1; + var ret = [this.LValue(start), this.LValue(end)]; + for(var i=1; i