comparison src/luan/lib/StringLib.java @ 87:eaf37cfa30c2

fix string.gsub() git-svn-id: https://luan-java.googlecode.com/svn/trunk@88 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Wed, 27 Feb 2013 19:42:09 +0000
parents 6db8f286fa6c
children 6ca02b188dba
comparison
equal deleted inserted replaced
86:6db8f286fa6c 87:eaf37cfa30c2
164 if( repl instanceof LuanTable ) { 164 if( repl instanceof LuanTable ) {
165 LuanTable t = (LuanTable)repl; 165 LuanTable t = (LuanTable)repl;
166 int i = 0; 166 int i = 0;
167 StringBuffer sb = new StringBuffer(); 167 StringBuffer sb = new StringBuffer();
168 while( i<max && m.find() ) { 168 while( i<max && m.find() ) {
169 String match = m.groupCount()==0 ? m.group() : m.group(0); 169 String match = m.groupCount()==0 ? m.group() : m.group(1);
170 Object val = t.get(match); 170 Object val = t.get(match);
171 if( Luan.toBoolean(val) ) { 171 if( Luan.toBoolean(val) ) {
172 String replacement = Luan.asString(val); 172 String replacement = Luan.asString(val);
173 if( replacement==null ) 173 if( replacement==null )
174 throw new LuanException( luan, LuanElement.JAVA, "invalid replacement value (a "+Luan.type(val)+")" ); 174 throw new LuanException( luan, LuanElement.JAVA, "invalid replacement value (a "+Luan.type(val)+")" );