0

私はジェネリック関数 (たとえば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ロジックが含まれています。

  1. そのような間接的な呼び出しを処理することは可能ですか?
  2. ホルダークラスの「関数呼び出し」は正しいですか?それとも別の方法で処理する必要がありますか?
4

1 に答える 1