概要
StringBuilder
から着想を得て、メタプログラミング(コードを生成するコード)を簡単に行えるクラスScriptBuilder
を作りました。
機能不足な点があると思うので、コメントで改善案をいただけると助かります。
コード
Editor ファイルに入れてご利用ください。
仕様紹介
全ての関数はメソッドチェーンで記述できます。
関数名 | 機能 |
---|---|
Append() | 文字列を追加します。 第2引数の removeInvalidChars をtrue にすると、変数名に使えない記号等を文字列から省きます。第3引数の padRight の値を増やすと、右側を空白埋めします。 |
AppendLine() | 文字列を追加し、改行します。 |
NewLine() | 改行します。 |
OpenBrace() CloseBrace() |
{ 、} の代わりに利用すると、インデント(字下げ)の自動挿入が機能して生成されるコードが見やすくなります。また双方の使用数から記述漏れを発見しやすくなります。 |
UsingDirectives() |
using ディレクティブを簡潔に記述できます。 |
Namespace() |
namespace を明示的に記述できます。 |
Comment() Summary() |
コメント・ドキュメントコメントを簡潔に記述できます。 |
Clear() |
ScriptBuilder が保持する値を消します。 |
WriteToFile() | ファイルに書き込みます(ファイルが無ければ生成・既にファイルがある際は上書き)。 |
SingleIndent() | インデントを1段追加します(自動挿入には影響しません)。 |
Remove() InvRemove() Pop() PopSingleIndentLength() PopIndnetLength() |
文字列を削除します。 主に使用するのは Pop() とPopIndentLength() になるかと思います。Pop() は最後からn 文字消す関数です。PopIndentLength() は現在のインデントの段落分の文字を消す関数です。 |
使用例