2015-08-19 10 views
14

Napisałem prosty skrypt w Octave. Kiedy uruchomię go z linii poleceń, Octave wypisze linię za każdym razem, gdy zmienna zostanie przypisana nowej wartości. Jak to powstrzymać?tłumienie drukowania każde zadanie

MWE:

function result = stuff() 
    result = 0 
    for i=0:10, 
     j += i 
    end 
end 

gdy uruchamiam go:

octave:17> stuff() 
result = 0 
result = 0 
result = 1 
result = 3 
result = 6 
result = 10 
result = 15 
result = 21 
result = 28 
result = 36 
result = 45 
result = 55 
ans = 55 
octave:18> 

Chcę pozbyć się result = ... linii. Jestem nowa w Octave, więc proszę, wybaczcie mi zadając tak podstawowe pytanie.

+1

Jak już wspomniano, zakończenie linii z ';' spowoduje zablokowanie wyjścia do terminala. Również nie potrzebujesz ',' po linii 'for'. Wreszcie, chociaż 'j + = i;' jest poprawnym Octave, to nie jest poprawny Matlab. Sugerowałbym, żebyś zmienił go na 'j = j + i', więc jeśli twój kod kiedykolwiek zostanie przeniesiony na Matlaba, nie będziesz musiał wprowadzać żadnych zmian. – Dan

Odpowiedz

19

poprzez dodanie średnika na końcu wyciągu, spowoduje to zniesienie wyniku pośredniego.

W twoim przypadku:

function result = stuff() 
    result = 0; 
    for i=0:10, 
     j += i; 
    end 
end 

rade.

5

Podobnie jak w matlab wystarczy dodać a; (średnik) na końcu linii, której nie chcesz wyprowadzać na terminal.

Powiązane problemy