私は自分のアプリケーションで簡単なスクリプトインタプリタを作ろうとしています。私のアプリケーションで使用するための有効なスクリプトは次のようになります。非常に簡単なインタプリタをC言語で書く#
#this is a comment
*IDN? #this is a comment after a valid command
:READ? #this was also a comment after a valid command
RST
#last line was a valid comment but with no comment!
今、私はそれが#
を開始し、また中#
をignorていない場合は、各ラインを実行したい文字列の配列内のスクリプトの内容をロードした後それ以外の場合は同じ行:
foreach(var command in commands)
{
if(!command.StartsWith("#"))
{
_handle.WriteString(command);
}
}
私のコードは、コメントの開始を世話します。しかし、インラインコメントをチェックする方法は?
私はこのアイデアを得ました。このコードはIDIOT-PROOFですか?
foreach(var command in commands)
{
if(!command.StartsWith("#"))
{
if(command.IndexOf('#') != null)
{
_handle.WriteString(command.Remove(command.IndexOf('#')));
}
else
_handle.WriteString(command);
}
}
シンプルです。 '#'の後には何も実行しないでください。 –
ええ、しかし、コマンドの後に#行があるか調べるには? –
私は当面、インラインコメントを扱い、残りの通訳者に焦点を当てる方法に伴う小さな困難を無視することをお勧めします。終了したら、インラインコメントの処理方法を知ることができます。 ;-D –