2017年7月11日火曜日

ノード名とアトリビュート名を分離する

connectionInfo listConnections を使っていると、返ってきた文字列をノード名とアトリビュート名に分離したい事が良くあります。
一般的には tokenize、ちょっと知っている人なんかは stringToStringArray を使ってピリオドを指定して文字配列にします。

そんなふうに考えていた時期が俺にもありました。


string $nodeAttr="locator1.translateX";// 本来は`connectionInfo -dfs`とか
string $tmp[]=stringToStringArray($nodeAttr,".");
string $node=$tmp[0];
string $attr=$tmp[1];

みたいな感じでしょうか。

シェーダーとかユーティリティーノードの接続なんかを調べている時、頻繁に打ち込んでいる気がします。
いくら秀丸の単語補完stringToStringArray が簡単に入力できるとは言っても、見た目が美しくありません。

そんな折、ふと、

( ´ー`)。о(node.attributeってファイル名みたいだなぁ)

と思ってしまいました。
で、

string $nodeAttr="locator1.translateX";
string $node=basenameEx( $nodeAttr );
string $attr=fileExtension( $nodeAttr );
print ("\n-- "+$nodeAttr+"----\n");
print ($node+"\n");
print ($attr+"\n");

ふつうに分離できました。
Σ(゚д゚;) マジカ


0 件のコメント:

コメントを投稿