2016-05-25 16 views
0

私のプログラムの入力は、ユーザからOctaveで取得する必要があります。入力コマンドをインクルードしてスクリプトの書き込みを続けると、スクリプトを実行した後、スクリプト内の入力コマンドに続く行が入力として扱われます。ユーザーが入力を与えてからスクリプトを続行するまで、スクリプトは入力コマンドを待機することは可能ですか?Octaveでユーザからの入力を要求する

私のスクリプトのこの部分を考慮してください。

n=input('Give the number of nodes') 
names=char('Paul', 'Jane', 'Sam', 'Chris') 

私はこれらのステートメントを実行すると、これはコマンドウィンドウを表示するものである:

>> n=input('Give the number of nodes') 

Give the number of nodesnames=char('Paul', 'Jane', 'Sam', 'Chris') 

n = 

Paul 
Jane 
Sam 
Chris 
+0

'computer()'と 'version'の出力は何ですか? – ederag

+1

オペレーティングシステムとバージョンを追加してください。スクリプトでコードを実行しているか、コードをコマンドウィンドウに貼り付けていますか? – Andy

+1

@Andy Windows OS、Octaveバージョン4.0.2。コマンドウィンドウにコードを貼り付けません。私はエディタにコードを書いて実行します。 –

答えて

0

次のコード

try_input.mファイルに入れ
n=input('Give the number of nodes') 
names=char('Paul', 'Jane', 'Sam', 'Chris') 

仕事をします。

>> version 
ans = 4.0.1 

バージョン4.0.03.8.2でも良いです。

これはLinuxの下にあります。

+0

いいえ、そうではありません。私のバージョンは4.0.2です。 Windows 10.あなたは問題があるのですが、そうですか?エグゼキュータは、ユーザーが入力を待つことはありません。入力行を読み取った後、次の行にまっすぐに進み、入力として受け取り、それらの名前をnに格納します。 –

+0

@swatipratyushaはい、私は問題が何かを理解しました。スクリプトは、入力された場所の文字(コピー/貼り付け時など)と解釈されます。私の答えのポイントは、バージョンとオペレーティングシステムでした。だから、ウィンドウにバグがあるかもしれません。この問題へのリンクがある[バグレポートを提出する](https://savannah.gnu.org/bugs/?func=additem&group=octave)までの時間? – ederag

0

セミコロンを追加すると、3.8.1バージョンのコマンドプロンプトでLinux上で正常に動作します(しかし、それがない場合はありません)。

関連する問題