Primek_1980 Primek_1980 19.04.2020, 18:23:09 0 + #programowanie #javascriptrece mi opadajanie mam pojecia czemu program sie zawiesza jesli w tej funkcji uzyje switch :(( jedyne co mi przychodzi na mysl to to - ze wchodze w jakis zakres pamieci :(Module.prototype.decodeWeight = function () { var p = { digit: '(\d+\.?\d*)', cont: '(\/1\s(opak|pusz|but|szt)\.)', unit: '(k?g|ml|l\b|szt\.)' }; //regular expression var bez = "^(1\s(szt\.|kg|l\b)|100\s(g|ml))(\/1\s(opak\.|pusz\.|but\.|szt\.|para))?\s*$"; var comma1 = "^" + p.digit + "\s" + p.unit + ",\s" + p.digit + "\s" + p.unit + p.cont + "\s*$"; var comma2 = "^" + p.digit + "\s" + p.unit + ",\s" + p.digit + "\s" + p.unit + ",\s" + p.digit +"\s" + p.unit + p.cont + "\s*$"; var comma3 = "^" + p.digit + "\s" + p.unit + ",\s" + p.digit + "\s" + p.unit + ",\s" + p.digit +"\s" + p.unit + ",\s" + p.digit +"\s" + p.unit + p.cont + "\s*$"; var range = "^" + p.digit + "-" + p.digit + "\s" + p.unit + p.cont + "\s*$"; var one = "^" + p.digit + "\s" + p.unit + p.cont + "\s*$"; var desc = this.desc.opis.replace(/(kostek|role?k(?:i|a)?|torebe?k(?:i|a)?|piramide?k(?:i|a)?)/g, "szt."); desc = desc.replace(/(\d),(\d)/, "$1.$2"); desc = desc.replace(/(\d+)\sx\s(\d+\.?\d*)/g, function(str) { return (Number(RegExp.$1) * Number(RegExp.$2)).toString(); });var test = new RegExp(bez,"m").test(desc)//~ switch (true) {//~ case test://~ return "without unitprice";//~ break;//~ }
Defined Defined 19.04.2020, 18:31:10 via Wykop Mobilny (Android) 0 + @Primek_1980: wez to wklej na jakiegoś patebina, bo wykop jak widzisz jest upośledzony
Defined Defined 19.04.2020, 18:33:34 via Wykop Mobilny (Android) 1 + @Primek_1980: https://pastebin.com/
p.....o konto usunięte 19.04.2020, 18:35:43 0 + @Primek_1980: albo jeszcze lepiej - coś w stylu https://jsfiddle.net/
vizori vizori 19.04.2020, 18:37:58 1 + @Primek_1980: O chryste, jakie wielkie regeksy :oA co do switcha - napisałeś go na odwrót. Powinno być switch(test) ... case true
B.....s konto usunięte 19.04.2020, 18:50:43 0 + @Primek_1980: to co napisałeś nie ma sensu. true nie ma wartości z case.
trevoz trevoz 19.04.2020, 18:51:07 0 + @Primek_1980: Nie, nie może tak być jak piszesz.Posłuchaj mireczka vizori, bo dobrze prawi
B.....s konto usunięte 19.04.2020, 18:57:09 0 + A tak w ogóle to switcha nie używa się do booleanów tylko do stringów/numberów/enumów. Tutaj wystarczy if.
B.....s konto usunięte 19.04.2020, 19:16:25 0 + @Primek_1980: U mnie działa https://jsfiddle.net/3ow5L9hv/
niepodszywamsiepodbiauka niepodszywamsiepodbiauka 19.04.2020, 20:03:33 0 + switch (true) {@Primek_1980: Mi też opadają, wtf? I taguj poprawnie #naukaprogramowania #o-------------------------------c15k
rece mi opadaja
nie mam pojecia czemu program sie zawiesza jesli w tej funkcji uzyje switch :((
jedyne co mi przychodzi na mysl to to - ze wchodze w jakis zakres pamieci :(
Module.prototype.decodeWeight = function () {
var p = {
digit: '(\d+\.?\d*)',
cont: '(\/1\s(opak|pusz|but|szt)\.)',
unit: '(k?g|ml|l\b|szt\.)'
};
//regular expression
var bez = "^(1\s(szt\.|kg|l\b)|100\s(g|ml))(\/1\s(opak\.|pusz\.|but\.|szt\.|para))?\s*$";
var comma1 = "^" + p.digit + "\s" + p.unit + ",\s" + p.digit + "\s" + p.unit + p.cont + "\s*$";
var comma2 = "^" + p.digit + "\s" + p.unit + ",\s" + p.digit + "\s" + p.unit + ",\s" + p.digit +"\s" + p.unit + p.cont + "\s*$";
var comma3 = "^" + p.digit + "\s" + p.unit + ",\s" + p.digit + "\s" + p.unit + ",\s" + p.digit +"\s" + p.unit + ",\s" + p.digit +"\s" + p.unit + p.cont + "\s*$";
var range = "^" + p.digit + "-" + p.digit + "\s" + p.unit + p.cont + "\s*$";
var one = "^" + p.digit + "\s" + p.unit + p.cont + "\s*$";
var desc = this.desc.opis.replace(/(kostek|role?k(?:i|a)?|torebe?k(?:i|a)?|piramide?k(?:i|a)?)/g, "szt.");
desc = desc.replace(/(\d),(\d)/, "$1.$2");
desc = desc.replace(/(\d+)\sx\s(\d+\.?\d*)/g, function(str) {
return (Number(RegExp.$1) * Number(RegExp.$2)).toString();
});
var test = new RegExp(bez,"m").test(desc)
//~ switch (true) {
//~ case test:
//~ return "without unitprice";
//~ break;
//~ }
A co do switcha - napisałeś go na odwrót. Powinno być switch(test) ... case true
switch (true) {
case
Posłuchaj mireczka vizori, bo dobrze prawi
@Primek_1980: Mi też opadają, wtf? I taguj poprawnie #naukaprogramowania #o-------------------------------c15k