Tôi thích sử dụng cell mode thay vì phá vỡ các điểm khi viết/gỡ lỗi chức năng.Cách xác định xem mã có được thực hiện như một chức năng hay sử dụng chế độ di động
Bạn sẽ xác định thời gian chạy như thế nào nếu mã thực hiện hiện đang được thực thi dưới dạng hàm hoặc sử dụng chế độ ô?
Điểm thưởng Nếu bạn có thể tìm ra số function
biết rằng nó được gọi từ bên trong một hàm khác hoặc từ một ô.
Ví dụ về khi điều này có thể hữu ích là khi bạn muốn tải dữ liệu khác nhau trong khi thực thi hàm hoặc nếu bạn muốn tạo trình vẽ để gỡ lỗi. Nó sẽ trở thành một nỗi đau để bình luận ra các dòng cụ thể khi chuyển đổi giữa thực hiện như một tế bào hoặc một chức năng.
function doSomethingAwesome(inputs)
%%
if executingAsCell == true
clear
importData
end
% process stuff
if executingAsCell == true
plot(myAwesomeResults)
end
Lưu ý, đây không phải là một bản sao của câu hỏi trước đây của tôi:How to determine if code is executing as a script or function?
+1 Câu hỏi thú vị. Đầu tiên nghĩ (hack xấu xí): những gì về việc xác định một biến giả như điều đầu tiên bạn làm trong chức năng của bạn/kịch bản và sau đó kiểm tra xem nó được xác định? – user1884905
Bạn có thể làm điều này với [dbstack] (http://www.mathworks.nl/help/matlab/ref/dbstack.html), không chắc chắn. – Junuxx