1

スレーブ インタープリターで既存の tcl コマンドの名前を変更するにはどうすればよいですか?

言い換えると

interp create test
test alias __proc proc

test eval {
  __proc hello {} {
    puts "hiya"
  }
  hello
}

残念ながら、これは機能しません。ただし、別の名前で非表示にして公開すると、機能します。しかし、コマンドproc__proc- の両方を使用したいので、エイリアスを使用するか、他の方法を使用したいと思います...

4

2 に答える 2

0

あなたはどちらかを行うことができます

interp alias test __proc test proc

メインインタープまたは

interp alias {} __proc {} proc

スレーブでは、次の両方のスクリプトが機能します。

interp create test
interp alias test __proc test proc

test eval {
  __proc hello {} {
    puts "hiya"
  }
  hello
}

また

interp create test

test eval {
interp alias {} __proc {} proc
  __proc hello {} {
    puts "hiya"
  }
  hello
}

test alias __proc procは と同じです。これは、スレーブがマスターを呼び出すinterp alias test __proc {} procことを意味します。__procproc

于 2013-09-27T21:23:36.563 に答える