この場合、func1
電話がかかりますMain_Func
。それは何と呼んでいますか?
Main_Func() {
<code>
}
Initialize_func() {
func1() {
<code>
}
}
答え1
func1
定義を取得するには、まずInitialize_func
その定義を1回以上呼び出す必要があります。その後、func1
次のように呼び出すことができますfunc1
。
例:
outer1 () {
echo 'in outer1'
inner
}
outer2 () {
echo 'in outer2'
inner () {
echo 'in inner'
}
}
# First example explained below:
outer1
# Second example explained below:
outer2
outer1
outer1
この例では、呼び出さずに呼び出すことが定義されていないouter2
ため、機能しません。inner
$ ksh93 script.sh
in outer1
script.sh[3]: inner: not found [No such file or directory]
まず電話outer2
してからouter1
作業してください。
$ ksh93 script.sh
in outer2
in outer1
in inner
ksh
func1
あなたの機能を他の機能と同じ「範囲」に配置します。 C ++や他のオブジェクト指向言語がfunc1
何とかInitialize_func
。
function
これは、上記のBourneシェル関数構文を使用するのか、Kornシェルのキーワードを使用して関数を定義するのかは関係ありません。