2015-08-19 15 views
14

Tôi đã viết một kịch bản đơn giản trong Octave. Khi tôi chạy nó từ dòng lệnh, Octave in một dòng mỗi khi một biến được gán một giá trị mới. Làm cách nào để ngăn chặn điều đó?triệt tiêu in ấn mỗi bài tập

MWe:

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

khi tôi chạy nó:

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> 

Tôi muốn thoát khỏi result = ... dòng. Tôi mới làm quen với Octave, vì vậy hãy tha thứ cho tôi hỏi một câu hỏi cơ bản như vậy.

+1

Như đã đề cập, kết thúc các dòng của bạn bằng một ';' sẽ chặn đầu ra tới đầu cuối. Ngoài ra, bạn không cần ',' sau dòng 'for'. Cuối cùng, mặc dù 'j + = i;' là Octave hợp lệ, nó không phải là Matlab hợp lệ. Tôi sẽ đề nghị bạn thay đổi nó thành 'j = j + i' để nếu mã của bạn cần được chuyển sang Matlab, bạn sẽ không phải thực hiện bất kỳ thay đổi nào. – Dan

Trả lời

19

bằng cách thêm dấu chấm phẩy ở cuối câu lệnh của bạn, nó sẽ chặn kết quả trung gian.

Trong trường hợp của bạn:

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

sẽ làm các trick.

5

Giống như trong MATLAB, chỉ cần thêm một; (dấu chấm phẩy) đến cuối dòng bạn không muốn đầu ra cho thiết bị đầu cuối.