תבנית:Str find
/*lua.js generated code*/return l._f(function() {
var __VA_ARG = Array.prototype.slice.call(arguments, 0);
var str$1 = l.__newTable();
l.__set(str$1, "len", l._f(function(frame$2)
{
var new_args$3 = (l.__call(l.__get(str$1,"_getParameters"),[l.__get(frame$2,"args"),l.__newTable(0, "s")]))[0];
var s$4 = l.__get(new_args$3,"s")||l.ds;
return l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"len"),[s$4])
}));
l.__set(str$1, "sub", l._f(function(frame$5)
{
var new_args$6 = (l.__call(l.__get(str$1,"_getParameters"),[l.__get(frame$5,"args"),l.__newTable([[0, "s"],[0, "i"],[0, "j"]])]))[0];
var s$7 = l.__get(new_args$6,"s")||l.ds;
var i$8 = (l.__call(l.__get(_ENV,"tonumber"),[l.__get(new_args$6,"i")]))[0]||1;
var j$9 = (l.__call(l.__get(_ENV,"tonumber"),[l.__get(new_args$6,"j")]))[0]||l.__unm(1);
var len$10 = (l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"len"),[s$7]))[0];
if (l.__lt(i$8,l.d0))
{
i$8 = l.__add(l.__add(len$10,i$8),1);
}
if (l.__lt(j$9,l.d0))
{
j$9 = l.__add(l.__add(len$10,j$9),1);
}
if (l.__gt(i$8,len$10)||l.__gt(j$9,len$10)||l.__lt(i$8,1)||l.__lt(j$9,1))
{
return l.__call(l.__get(str$1,"_error"),["String subset index out of range"])
}
if (l.__lt(j$9,i$8))
{
return l.__call(l.__get(str$1,"_error"),["String subset indices out of order"])
}
return l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"sub"),[s$7,i$8,j$9])
}));
l.__set(str$1, "sublength", l._f(function(frame$11)
{
var i$12 = (l.__call(l.__get(_ENV,"tonumber"),[l.__get(l.__get(frame$11,"args"),"i")]))[0]||l.d0;
var len$13 = (l.__call(l.__get(_ENV,"tonumber"),[l.__get(l.__get(frame$11,"args"),"len")]))[0];
return l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"sub"),[l.__get(l.__get(frame$11,"args"),"s"),l.__add(i$12,1),len$13&&(l.__add(i$12,len$13))])
}));
l.__set(str$1, "match", l._f(function(frame$14)
{
var new_args$15 = (l.__call(l.__get(str$1,"_getParameters"),[l.__get(frame$14,"args"),l.__newTable([[0, "s"],[0, "pattern"],[0, "start"],[0, "match"],[0, "plain"],[0, "nomatch"]])]))[0];
var s$16 = l.__get(new_args$15,"s")||l.ds;
var start$17 = (l.__call(l.__get(_ENV,"tonumber"),[l.__get(new_args$15,"start")]))[0]||1;
var plain_flag$18 = (l.__call(l.__get(str$1,"_getBoolean"),[l.__get(new_args$15,"plain")||false]))[0];
var pattern$19 = l.__get(new_args$15,"pattern")||l.ds;
var match_index$20 = (l.__call(l.__get(l.__get(_ENV,"math"),"floor"),[(l.__call(l.__get(_ENV,"tonumber"),[l.__get(new_args$15,"match")]))[0]||1]))[0];
var nomatch$21 = l.__get(new_args$15,"nomatch");
if (l.__eq(s$16,l.ds))
{
return l.__call(l.__get(str$1,"_error"),["Target string is empty"])
}
if (l.__eq(pattern$19,l.ds))
{
return l.__call(l.__get(str$1,"_error"),["Pattern string is empty"])
}
if (l.__lt((l.__call(l.__get(l.__get(_ENV,"math"),"abs"),[start$17]))[0],1)||l.__gt((l.__call(l.__get(l.__get(_ENV,"math"),"abs"),[start$17]))[0],(l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"len"),[s$16]))[0]))
{
return l.__call(l.__get(str$1,"_error"),["Requested start is out of range"])
}
if (l.__eq(match_index$20,l.d0))
{
return l.__call(l.__get(str$1,"_error"),["Match index is out of range"])
}
if (plain_flag$18)
{
pattern$19 = (l.__call(l.__get(str$1,"_escapePattern"),[pattern$19]))[0];
}
var result$22;
if (l.__eq(match_index$20,1))
{
result$22 = (l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"match"),[s$16,pattern$19,start$17]))[0];
}else
{
if (l.__gt(start$17,1))
{
s$16 = (l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"sub"),[s$16,start$17]))[0];
}
var iterator$23 = (l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"gmatch"),[s$16,pattern$19]))[0];
if (l.__gt(match_index$20,l.d0))
{
var $st$25 = [iterator$23];
for (;;)
{
var t = $st$25[0]($st$25[1],$st$25[2]);
var w$24 = t[0];
if (w$24 == null) break;
$st$25[2] = w$24;
{
match_index$20 = l.__sub(match_index$20,1);
if (l.__eq(match_index$20,l.d0))
{
result$22 = w$24;
break;
}
}
}
}else
{
var result_table$26 = l.__newTable();
var count$27 = 1;
var $st$29 = [iterator$23];
for (;;)
{
var t = $st$29[0]($st$29[1],$st$29[2]);
var w$28 = t[0];
if (w$28 == null) break;
$st$29[2] = w$28;
{
l.__set(result_table$26, count$27, w$28);
count$27 = l.__add(count$27,1);
}
}
result$22 = l.__get(result_table$26,l.__add(count$27,match_index$20));
}
}
if (l.__eq(result$22,null))
{
if (l.__eq(nomatch$21,null))
{
return l.__call(l.__get(str$1,"_error"),["Match not found"])
}else
{
return [nomatch$21];
}
}else
{
return [result$22];
}
return [];
}));
l.__set(str$1, "pos", l._f(function(frame$30)
{
var new_args$31 = (l.__call(l.__get(str$1,"_getParameters"),[l.__get(frame$30,"args"),l.__newTable([[0, "target"],[0, "pos"]])]))[0];
var target_str$32 = l.__get(new_args$31,"target")||l.ds;
var pos$33 = (l.__call(l.__get(_ENV,"tonumber"),[l.__get(new_args$31,"pos")]))[0]||l.d0;
if (l.__eq(pos$33,l.d0)||l.__gt((l.__call(l.__get(l.__get(_ENV,"math"),"abs"),[pos$33]))[0],(l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"len"),[target_str$32]))[0]))
{
return l.__call(l.__get(str$1,"_error"),["String index out of range"])
}
return l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"sub"),[target_str$32,pos$33,pos$33])
}));
l.__set(str$1, "str_find", l._f(function(frame$34)
{
var new_args$35 = (l.__call(l.__get(str$1,"_getParameters"),[l.__get(frame$34,"args"),l.__newTable([[0, "source"],[0, "target"]])]))[0];
var source_str$36 = l.__get(new_args$35,"source")||l.ds;
var target_str$37 = l.__get(new_args$35,"target")||l.ds;
if (l.__eq(target_str$37,l.ds))
{
return [1];
}
var start$38 = (l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"find"),[source_str$36,target_str$37,1,true]))[0];
if (l.__eq(start$38,null))
{
start$38 = l.__unm(1);
}
return [start$38];
}));
l.__set(str$1, "find", l._f(function(frame$39)
{
var new_args$40 = (l.__call(l.__get(str$1,"_getParameters"),[l.__get(frame$39,"args"),l.__newTable([[0, "source"],[0, "target"],[0, "start"],[0, "plain"]])]))[0];
var source_str$41 = l.__get(new_args$40,"source")||l.ds;
var pattern$42 = l.__get(new_args$40,"target")||l.ds;
var start_pos$43 = (l.__call(l.__get(_ENV,"tonumber"),[l.__get(new_args$40,"start")]))[0]||1;
var plain$44 = l.__get(new_args$40,"plain")||true;
if (l.__eq(source_str$41,l.ds)||l.__eq(pattern$42,l.ds))
{
return [l.d0];
}
plain$44 = (l.__call(l.__get(str$1,"_getBoolean"),[plain$44]))[0];
var start$45 = (l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"find"),[source_str$41,pattern$42,start_pos$43,plain$44]))[0];
if (l.__eq(start$45,null))
{
start$45 = l.d0;
}
return [start$45];
}));
l.__set(str$1, "replace", l._f(function(frame$46)
{
var new_args$47 = (l.__call(l.__get(str$1,"_getParameters"),[l.__get(frame$46,"args"),l.__newTable([[0, "source"],[0, "pattern"],[0, "replace"],[0, "count"],[0, "plain"]])]))[0];
var source_str$48 = l.__get(new_args$47,"source")||l.ds;
var pattern$49 = l.__get(new_args$47,"pattern")||l.ds;
var replace$50 = l.__get(new_args$47,"replace")||l.ds;
var count$51 = (l.__call(l.__get(_ENV,"tonumber"),[l.__get(new_args$47,"count")]))[0];
var plain$52 = l.__get(new_args$47,"plain")||true;
if (l.__eq(source_str$48,l.ds)||l.__eq(pattern$49,l.ds))
{
return [source_str$48];
}
plain$52 = (l.__call(l.__get(str$1,"_getBoolean"),[plain$52]))[0];
if (plain$52)
{
pattern$49 = (l.__call(l.__get(str$1,"_escapePattern"),[pattern$49]))[0];
replace$50 = (l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"gsub"),[replace$50,"%%","%%%%"]))[0];
}
var result$53;
if (l.__neq(count$51,null))
{
result$53 = (l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"gsub"),[source_str$48,pattern$49,replace$50,count$51]))[0];
}else
{
result$53 = (l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"gsub"),[source_str$48,pattern$49,replace$50]))[0];
}
return [result$53];
}));
l.__set(str$1, "reverse", l._f(function(frame$54)
{
var tab$55 = (l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"text"),"split"),[l.__get(l.__get(frame$54,"args"),1)||l.ds,l.ds]))[0];
var restab$56 = l.__newTable();
var $var$58 = l.__checknumber(l.__len(tab$55)), $limit$59 = 1, $step$60 = l.__checknumber(l.__unm(1)),i$57;
while (($step$60>0 && $var$58<=$limit$59) || ($step$60<0 && $var$58>=$limit$59)){
i$57 = $var$58;
{
l.__call(l.__get(l.__get(_ENV,"table"),"insert"),[restab$56,l.__get(tab$55,i$57)]);
}
$var$58 += $step$60
}
return l.__call(l.__get(l.__get(_ENV,"table"),"concat"),[restab$56])
}));
l.__set(str$1, "היפוך", l.__get(str$1,"reverse"));
l.__set(str$1, "_getParameters", l._f(function(frame_args$61,arg_list$62)
{
var new_args$63 = l.__newTable();
var index$64 = 1;
var value$65;
var $st$68 = l.__call(l.__get(_ENV,"ipairs"),[arg_list$62]);
for (;;)
{
var t = $st$68[0]($st$68[1],$st$68[2]);
var i$66 = t[0];
var arg$67 = t[1];
if (i$66 == null) break;
$st$68[2] = i$66;
{
value$65 = l.__get(frame_args$61,arg$67);
if (l.__eq(value$65,null))
{
value$65 = l.__get(frame_args$61,index$64);
index$64 = l.__add(index$64,1);
}
l.__set(new_args$63, arg$67, value$65);
}
}
return [new_args$63];
}));
l.__set(str$1, "_error", l._f(function(error_str$69)
{
var frame$70 = (l.__call(l.__get(l.__get(_ENV,"mw"),"getCurrentFrame"),[]))[0];
var error_category$71 = l.__get(l.__get(frame$70,"args"),"error_category")||"שגיאות טיפול במחרוזת";
var ignore_errors$72 = l.__get(l.__get(frame$70,"args"),"ignore_errors")||false;
var no_category$73 = l.__get(l.__get(frame$70,"args"),"no_category")||false;
if ((l.__call(l.__get(str$1,"_getBoolean"),[ignore_errors$72]))[0])
{
return [l.ds];
}
var error_str$74 = l.__concat("String Module Error: ",l.__concat(error_str$69,""));
if (l.__neq(error_category$71,l.ds)&&!((l.__call(l.__get(str$1,"_getBoolean"),[no_category$73]))[0]))
{
if (l.__neq(l.__get((l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"title"),"getCurrentTitle"),[]))[0],"namespace"),10))
{
error_str$74 = l.__concat("",error_str$74)));
}
}
return [error_str$74];
}));
l.__set(str$1, "_getBoolean", l._f(function(boolean_str$75)
{
var boolean_value$76;
if (l.__eq((l.__call(l.__get(_ENV,"type"),[boolean_str$75]))[0],"string"))
{
boolean_str$75 = (l.__callMethod(boolean_str$75,"lower",[]))[0];
if (l.__eq(boolean_str$75,"false")||l.__eq(boolean_str$75,"no")||l.__eq(boolean_str$75,"0")||l.__eq(boolean_str$75,l.ds))
{
boolean_value$76 = false;
}else
{
boolean_value$76 = true;
}
}else
if (l.__eq((l.__call(l.__get(_ENV,"type"),[boolean_str$75]))[0],"boolean"))
{
boolean_value$76 = boolean_str$75;
}else
{
l.__call(l.__get(_ENV,"error"),["No boolean value found"]);
}
return [boolean_value$76];
}));
l.__set(str$1, "_escapePattern", l._f(function(pattern_str$77)
{
return l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"gsub"),[pattern_str$77,"([%(%)%.%%%+%-%*%?%[%^%$%]])","%%%1"])
}));
l.__set(str$1, "contains_any", l._f(function(frame$78)
{
var $st$81 = l.__call(l.__get(_ENV,"pairs"),[l.__get(frame$78,"args")]);
for (;;)
{
var t = $st$81[0]($st$81[1],$st$81[2]);
var i$79 = t[0];
var v$80 = t[1];
if (i$79 == null) break;
$st$81[2] = i$79;
{
if (l.__gt(i$79,1))
{
var m$82 = (l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"find"),[l.__get(l.__get(frame$78,"args"),1),v$80,l.d0,true]))[0];
if (m$82)
{
return [v$80];
}
}
}
}
return [];
}));
l.__set(str$1, "contains_any_csv", l._f(function(frame$83)
{
var $st$85 = l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"gmatch"),[l.__get(l.__get(frame$83,"args"),2),"([^,]+)"]);
for (;;)
{
var t = $st$85[0]($st$85[1],$st$85[2]);
var word$84 = t[0];
if (word$84 == null) break;
$st$85[2] = word$84;
{
var m$86 = (l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"ustring"),"find"),[l.__get(l.__get(frame$83,"args"),1),word$84,l.d0,true]))[0];
if (m$86)
{
return [word$84];
}
}
}
return [];
}));
l.__set(str$1, "rep", l._f(function(frame$87)
{
var t =[l.__get(l.__get(frame$87,"args"),1)||l.ds].concat(l.__call(l.__get(_ENV,"tonumber"),[l.__get(l.__get(frame$87,"args"),2)])),
strval$88 = t[0],repval$89 = t[1];
if (!(repval$89))
{
return [l.ds];
}
return l.__call(l.__get(l.__get(_ENV,"string"),"rep"),[strval$88,repval$89])
}));
l.__set(str$1, "join", l._f(function(frame$90)
{
var res$91 = l.__newTable();
var sep$92 = ", ";
var $st$95 = l.__call(l.__get(_ENV,"pairs"),[l.__get(frame$90,"args")]);
for (;;)
{
var t = $st$95[0]($st$95[1],$st$95[2]);
var k$93 = t[0];
var v$94 = t[1];
if (k$93 == null) break;
$st$95[2] = k$93;
{
if (l.__eq(k$93,"sep"))
{
sep$92 = v$94;
}else
if (l.__gt(l.__len(v$94),l.d0))
{
l.__call(l.__get(l.__get(_ENV,"table"),"insert"),[res$91,v$94]);
}
}
}
return l.__call(l.__get(l.__get(_ENV,"table"),"concat"),[res$91,sep$92])
}));
l.__set(str$1, "encode", l._f(function(frame$96)
{
return l.__call(l.__get(l.__get(l.__get(_ENV,"mw"),"text"),"encode"),[l.__get(l.__get(frame$96,"args"),1)||l.ds])
}));
l.__set(str$1, "קידוד", l.__get(str$1,"encode"));
return [str$1];
});