私はこのような小さなスクリプトfoo1
の収集、foo2
など、それらすべてを実行するスクリプトmaster.m
、持っている:入力プロンプトに値を与えるスクリプトを取得するにはどうすればよいですか?
% master.m
run foo1
run foo2
はのは、どこかa = input('Gimme a number\n');
を言うことによって、入力用foo1
通話をしましょう。
run
コマンドの後に新しい行に必要な値を入力すると、入力として入力されるが、そうではないと思った。また、文字列として囲むことを試みました。つまり、'5'
です。それはどちらもうまくいかない。
私はそれらの別の機能を使用すべきですか? input
のヘルプファイルを見ましたが、output
という機能はありません。恐らく、write
またはwritetostdio
のようなものがあります。
キーボードに触れずに別のスクリプトから呼び出されているスクリプトにユーザー入力を与えるにはどうすればよいですか? master.m
ファイルに入力したい値を入力できますか?
編集: 混乱があるので、私はそれをクリアしようとします。
スクリプトfoo1
とfoo2
は、前後に値を渡すことはありません。すべてのスクリプトはそれぞれrun
になります。代わりに、私はのプログラムを、さまざまなユーザーの行動(のプロンプトに対する応答はfoo1
)でテストしようとしています。これらは通常キーボードで入力されますが、master.m
ファイルにfoo1
と入力してください。
申し訳ありませんが、これは混乱していますが、うまくいけばそれをクリアします。
[関数](http://www.mathworks.com/help/matlab/ref/function.html)を使用してください。 – excaza
各スクリプトは、すでに他の機能を呼び出すプログラム全体です。技術的にすべてを機能に変更することは可能ですが、それは非常に「良い」解決策ではありません(時間がかかり、以前の全プログラムが機能していることを意味します。 ..)。マスタースクリプトのアイデアは、私がそれを実行して、朝に戻って結果を見ることができるということです。 – jamesh625
関数は入力と出力を定義していますが、その目的があります。スクリプトはそうではありません。怠惰はプログラミングの貧弱な解決策を探す言い訳ではありません。これはプログラミングの貧弱な解決策を求めています。関数を使用しても、1つのことを実行して、結果を見るために朝に戻ってくることを禁じるものではありません。 – excaza