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
ja:root:wantto18 [GiriWiki]

ユーザ用ツール

サイト用ツール


ja:root:wantto18

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

などでも実行可能

ja/root/wantto18.txt · 最終更新: 2018/09/29 08:42 by kota