• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed zmienne - interpreter

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
175 wizyt
pytanie zadane 7 czerwca 2024 w JavaScript przez niezalogowany
zamknięte 7 czerwca 2024

witam zacząłem tworzyc zmienne i same zmienne udało mi sie stworzyc tylko mam problem z uzyciem write do wypisania zmiennej udało mi sie podzielic na 2 1 to z ""  a 2 to bez "" ale ogólnie gdy wypisuje zawartosc obiektu  to undefined choc wszystko niby sie zgadza 

 

        if (matchW) {
            console.log(Variable);
            console.log(matchW);
            let text = matchW[1];
            let varB = matchW[2];

            if (text){
                consol.innerHTML += text + '<br>';
            }
            else if (varB){
                console.log(varB)
                consol.innerHTML += Variable[varB] + '<br>';
            }
    }

 

czy ktos pomoze ? 

dodatkowe dane:

 

  1. Object
    1. "hej ": "hello"
    2. [[Prototype]]: Object

SCRIPT.js:86

  1. Array(3)
    1. 0: "write: hej"
    2. 1: undefined
    3. 2: "hej"
    4. groups: undefined
    5. index: 0
    6. input: "write: hej;"
    7. length: 3
    8. [[Prototype]]: Array(0)

SCRIPT.js:94hej

SCRIPT.js:96undefined



a w edytor wpisuje  nemo hej = "hello";

write: hej;  a to cały kod oprócz funkcji jak show menu import i export 
 

function runCode() {
    const code = document.getElementById('editor').innerText;
    const consol = document.getElementById('console');

    consol.innerHTML=' ';
    interpret(code, consol);
}

function interpret(code, consol) {
    let lines = code.split('\n');
    let error = false;
    const Variable = {};

    for (let i = 0; i < lines.length; i++) {
        let line = lines[i].trim();

        let Wrm = /write\s*:\s*(?:"([^"]*)"|(\w+))/;
        let sRm = /sum:\s*((\d+)(?:\s*,\s*\d+)*)\s*;/;
        let Erm = /equal:\s*(\d+)\s*,\s*(\d+)\s*\[([+\-*\/])\];/;
        let Nrm = /nemo\s+([\w\s]+)\s*=\s*"(.*?)";/;

        let matchW = line.match(Wrm);
        let matchS = line.match(sRm);
        let matchE = line.match(Erm);
        let matchN = line.match(Nrm);

        if (matchW) {
            console.log(Variable);
            console.log(matchW);
            let text = matchW[1];
            let varB = matchW[2];

            if (text){
                consol.innerHTML += text + '<br>';
            }
            else if (varB){
                console.log(varB);
                consol.innerHTML += Variable[varB] + '<br>';
            }
    }   else if (matchS) {
            let numer = matchS[1].split(',').map(Number);
            let sum = 0;

            for (let j = 0; j < numer.length; j++) {
                sum += numer[j];
            }

            consol.innerHTML += `${sum} <br>`;
        } else if (matchE) {
            let vl1 = parseFloat(matchE[1]);
            let vl2 = parseFloat(matchE[2]);
            let pseudooperator = matchE[3];
            let result;

            switch (pseudooperator) {
                case '+':
                    result = vl1 + vl2;
                    break;
                case '-':
                    result = vl1 - vl2;
                    break;
                case '*':
                    result = vl1 * vl2;
                    break;
                case '/':
                    result = vl1 / vl2;
                    break;
                default:
                    error = true;
                    break;
            }

            consol.innerHTML += `${result}<br>`;
        }  else if (matchN) {
            
                let variableName = matchN[1];
                let variableValue = matchN[2];
                Variable[variableName] = variableValue;
            }
            
        else {
            error = true;
        }
    }

    if (error) {
        consol.innerHTML = 'Error!';
    }
}
komentarz zamknięcia: znalazłem juz odp na to pytanie
komentarz 7 czerwca 2024 przez SzkolnyAdmin Szeryf (89,770 p.)
Raz console, raz consol ... Co wyświetla się w konsoli? Daj cały kod.
komentarz 7 czerwca 2024 przez niezalogowany
juz
komentarz 7 czerwca 2024 przez niezalogowany
jak cos gdy wpisuje text  z "" działa i z zmienną tez bez "" działa ale problem to wypisywanie z obiektu

Podobne pytania

0 głosów
2 odpowiedzi 272 wizyt
pytanie zadane 8 czerwca 2024 w JavaScript przez niezalogowany
0 głosów
0 odpowiedzi 147 wizyt
pytanie zadane 11 czerwca 2024 w JavaScript przez niezalogowany
0 głosów
0 odpowiedzi 175 wizyt
pytanie zadane 26 lipca 2023 w Offtop przez reaktywny Nałogowiec (46,230 p.)

93,437 zapytań

142,431 odpowiedzi

322,671 komentarzy

62,802 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...