תבנית: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];

});