関数を実行し、戻り値を関数のパラメータとして取得する方法はありますか?私は何かが起こる前に一定の時間(秒)待つためにそこにある関数のトンが私のコードの中に横たわっています。ある状況でのみ使用するので、私はそれらを何らかの形で使用する方法の中に入れたいと思っていました。 (私はUnity3Dを使用しています。)例:私はSayHiAfterSecondsの内側sayHiCoroutine機能を入れたいメソッドをメソッド内で実行することはできますか?
public void SayHiAfterSeconds(float seconds) {
StartCoroutine(sayHiAfterSeconds(seconds));
}
IEnumerator sayHiCoroutine(float seconds) {
yield return new WaitForSeconds(seconds);
print("Hi.");
}
。次のようなもの:
public void SayHiAfterSeconds(float seconds) {
StartCoroutine(IEnumerator() {
yield return new WaitForSeconds(seconds);
print("Hi.");
});
}
これは可能ですか?おかげさまで
@Valentinはレコードのためだけで、重複していません。これは約**コルーチン** – Fattie
こんにちは@ 283です。あなたは大丈夫です。あなたはUnityについて面白いことに遭遇しました。あなたはしばしばコルーチンを始める以外に何もしない機能を見ます。 **これは多くのチームで非常に一般的です:**メインコールは** SayHiAfter **と呼ばれます。一致するコルーチン**はアンダースコアと小文字で同じですので、** "_ sayHiAfter" **です。私はあなたに「そうするべき」と言っているでしょう。**ユニティエンジニアの間では通常のイディオムです**。 – Fattie
これは非常にはっきりしています:** NORMALLY、あなたはこれまでに名前を始めるためにアンダースコアを使用してきたことはありません - 過去に事態が変わった時から、これは本当に信じられないほど古い、愚かで悪い考えです。だから、決してUnityの "アンダースコアの始まりの名前"アイデアを決して使用することは決してありません。しかしこれは非常に例外的な状況です。私が言うことができるのは、この場合、それが適切であると感じているということです(それは "ローカル" "付随的な" "関連する"本当にうまくいっている)こと、そしてそれが非常に一般的であることを示しています。だから、私はそれをすることをお勧めします。 – Fattie