Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/hep_web/hep_web/member/n-kota/dokuwiki/inc/init.php on line 542
====== macroに引数を渡したい ======
----
たとえば、Int_t と TString の2変数をとるマクロがあるとする。
test.C
void test( const Int_t N, const TString str )
{
std::cout << "N = " << N << std::endl;
std::cout << "str = " << str.Data() << std::endl;
}
このマクロを実行するには
root 'test.C(10,"aho")'
### shell 変数を使う場合
N=10;
str="aho";
root 'test.C('${N}', "'${str}'")'
のようにシングルクオートでエスケープが必要。
rootの対話型ターミナルでなら
.x test.C(10,"aho")
でも実行できる。
ほか、\\
test1.sh
#!/bin/bash
root << EOF
.x test.C(10,"aho");
.q;
EOF
とか\\
test2.sh
#!/bin/bash
N=10
str=\"aho\"
root << EOF
.x test.C(${N},${str});
.q;
EOF
などでも実行可能