2016-12-04 6 views
2

シンプルなオクターブスクリプトを実行しようとしていますが、次の問題があります。Octaveは.mファイルの変更を認識しません

スクリプトにエラーAがあるとします。このスクリプトを実行しようとすると、オクターブはエラー10を10行目、10行目に表示していると報告します。この行をコメントアウトしてスクリプトを再実行しようとしますが、オクターブは行10のエラー10.

これでコードが完成しました。

classdef plotter < handle 
    properties (Hidden, SetAccess = protected) 
    column_no = 0; 
    row_no = 0; 
    plots = {}; 
    end 

    methods 
    function obj = plotter() 
     disp('plotter created'); 
    end 

    function add_plot(obj, plot) 
     obj.plots{end + 1} = plot; 
    end 

    function draw(obj) 
     vector_len = size(obj.plots) 
     grid_axis_size = ceil(sqrt(vector_len)); 

     for index = 1:vector_len 
     subplot(grid_axis_size, grid_axis_size); 
     imshow(obj.plots{index}); 
     endfor 
    end 

    end 

end 

Octaveは、次のエラー報告します:

plotter_obj.draw()が呼び出され
clear; clc; 

#test_image_path = "/home/roman/Documents/prog/Prototype/project/resources/image/1.jpg"; 
test_image_path = "/home/roman/Documents/prog/Prototype/project/resources/image/3x3.jpeg"; 

plotter_obj = plotter(); 

source_image = imread(test_image_path); 
plotter_obj.add_plot(source_image); 

xyz_image = custom_image_conversion_routines.rgb2ciergb(source_image); 
plotter_obj.add_plot(xyz_image); 

plotter_obj.draw() 

、以下のクラスが動作していないはずです:

error: 'len' undefined near line 18 column 20
error: called from
draw at line 18 column 18
rg_chromacity_based_wavelet_transform at line 15 column 1

をしかし、誰があります

私のメインのscrips

には、以下が含まれ lenシンボルはdrawメソッドでもう言及されていません。

エラーメッセージを取り除く唯一の方法は、オクターブをシャットダウンして再起動することです。

どうしますか?クラスメソッドを変更した後、私の作業環境を何らかの方法でリセットするはずですか?

+0

ここにコードを投稿してください。 –

答えて

2

クラスに変更を加えた場合、変更内容を有効にするには、clear that classが必要になる可能性があります。

clear -classes 
+0

ありがとうございました。 – Roman

関連する問題