期待されるスクリプト:*の代わりにリテラル*文字をglobまたは正規表現文字として予想する方法

期待されるスクリプト:*の代わりにリテラル*文字をglobまたは正規表現文字として予想する方法

単語のスペルをチェックするためにhunspellへの接続を作成するExpectスクリプトがあります。残念ながら、hunspellは単語が辞書にある場合にのみ*を返します。 「何も」ではなく文字として解釈されると予想しているかどうかはどうすればわかりますか?

答え1

パターンマッチングとTCLの2つのレイヤーがあります。ヒントは、1つのバックスラッシュをバックスラッシュして関連レイヤーを通過した後、次のアスタリスクが特別にならないようにすることです。

#!/usr/bin/expect -f

#spawn echo "cat"
spawn echo "*"
expect {
    "cat" { set gots "dog" }
    "\\*" { set gots "star" }
}

puts $gots

関連情報