0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Unity】メタプログラミングを簡単に行えるクラス

Last updated at Posted at 2022-12-31

概要

StringBuilder から着想を得て、メタプログラミング(コードを生成するコード)を簡単に行えるクラスScriptBuilderを作りました。
機能不足な点があると思うので、コメントで改善案をいただけると助かります。

コード

Editor ファイルに入れてご利用ください。

仕様紹介

全ての関数はメソッドチェーンで記述できます。

関数名 機能
Append() 文字列を追加します。
第2引数のremoveInvalidCharstrueにすると、変数名に使えない記号等を文字列から省きます。
第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()は現在のインデントの段落分の文字を消す関数です。

使用例

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?