私はジェネリック関数 (たとえばholder
) を作成しようとしています。これは、最初のパラメーター名を別の関数名 ( などf1,f2,f3,f4...
) として受け取り、いくつかの条件に基づいてそれらを呼び出します。お気に入り
#!/bin/ksh
function f1
{
echo "f1"
return 7
}
function f2
{
echo "f2"
return 8
}
function holder
{
fptr=$1
`${fptr}`
ret=$?
echo $ret
}
holder "f1"
holder "f2"
上記のサンプル作品。ただ、たまに評価線${fptr}
、スタックの詳細で変な不具合が発生することがあります。関数を呼び出す方法に問題があるのではないかと思います。上記のコードはサンプルのモック コードであり、実際のコードには複雑なf1,f2
ロジックが含まれています。
- そのような間接的な呼び出しを処理することは可能ですか?
- ホルダークラスの「関数呼び出し」は正しいですか?それとも別の方法で処理する必要がありますか?