Difference between revisions of "String (API)"

From ComputerCraft Wiki
Jump to: navigation, search
(Undo revision 4692 by 165.30.102.113 (talk))
(CyouBemimMG)
Line 1: Line 1:
The string API is a default Lua 5.1 API as defined [http://www.lua.org/manual/5.1/manual.html#5.4 here]. Please list any non-working functions below.
+
ssahraj1          @sambottaWatch me as I dance under the spotlight- Listen to the peolpe screaming out more and more,  Coz I create the feeling that keep em coming back, Yeah, I create the feeling that keep em coming back, So captivating when I get it on the floor.   Know y'all been patiently waiting, I know you need me, I can feel it,  I'm a beast, I'm an animal, I'm that monster in the mirror, The headliner, finisher, I'm the closer, winner. Best when under pressure with second's left I show up. .
 
+
==Non-Working Functions==
+
 
+
===string.gmatch(string, pattern)===
+
 
+
Using any quantifier other than + will cause it to hang if that quantifier applies to the whole pattern and that pattern does not match the whole string.
+
 
+
Examples:
+
<pre>
+
"abcdef":gmatch("%a*")  -- Works
+
"abc=def":gmatch("%a*")  -- Hang
+
"abc=def":gmatch("%a.*") -- Works
+
"abc=def":gmatch("[%a.]*") -- Hang
+
"abc=def":gmatch("[^=]*")  -- Hang
+
"abc=def":gmatch("([^=]*)=?") -- Works (Note: This produces the same result as the above pattern should)
+
"abcdef":gmatch("[^=]*") -- Works
+
"abc=def":gmatch("[^=]*=") -- Works
+
</pre>
+
 
+
===string.sub / string.find ===
+
 
+
Both string.sub and string.find work on their own, but calling string.find on a string returned by string.sub will return the index of the character in the original string, not the sub string you are referencing.
+
 
+
Example:
+
<pre>
+
local testString = "This is a sample string";
+
local testSubString = string.sub(testString,5);
+
 
+
local indexOfSample = string.find(testSubString,"sample");
+
</pre>
+
 
+
indexOfSample is returned 11 instead of the expected 7
+
 
+
Concatenating a blank string onto the end of the string causes new memory to be allocated and works properly again
+
 
+
<pre>
+
local testString = "This is a sample string";
+
local testSubString = string.sub(testString,5);
+
 
+
local indexOfSample = string.find(testSubString.."","sample");
+
</pre>
+
 
+
This is also a problem with using string.find on command line arguments, as this returns the index in the full command path instead of the specific argument.
+
 
+
 
+
[[Category:APIs]]
+

Revision as of 03:22, 7 December 2012

ssahraj1 @sambottaWatch me as I dance under the spotlight- Listen to the peolpe screaming out more and more, Coz I create the feeling that keep em coming back, Yeah, I create the feeling that keep em coming back, So captivating when I get it on the floor. Know y'all been patiently waiting, I know you need me, I can feel it, I'm a beast, I'm an animal, I'm that monster in the mirror, The headliner, finisher, I'm the closer, winner. Best when under pressure with second's left I show up. .