タグ付けされた質問 「function」

関数(プロシージャ、メソッド、サブルーチン、ルーチンとも呼ばれます)は、単一の特定のタスクを実行するためのコードの一部です。このタグは、関数の作成または呼び出しを具体的に含む質問に使用します。タスクを実行する関数の実装については、代わりに[アルゴリズム]またはタスク固有のタグを使用してください。

4
Perl 5の関数プロトタイプがなぜ悪いのですか?
で、別のスタックオーバーフローの質問 レオンTimmermansがアサート: プロトタイプを使用しないことをお勧めします。それらには用途がありますが、ほとんどの場合ではなく、間違いなくこの場合ではありません。 なぜこれが本当なのか(またはそうでないのか)?私はほとんど常に自分のPerl関数のプロトタイプを提供します。他の誰かがそれらの使用について何か悪いことを言うのを見たことがありません。
116 perl  function  prototype 

5
JavaScriptでネストされた関数を記述できますか?
JavaScriptが別の関数内の関数の記述をサポートしているか、ネストされた関数をサポートしているか(ブログでそれを読んでいます)。これは本当に可能ですか?実際、私はこれらを使用しましたが、この概念はわかりません。私はこれについて本当に不明確です-助けてください!

10
関数の引数としてのPython関数?
Python関数を別の関数の引数にすることはできますか? いう: def myfunc(anotherfunc, extraArgs): # run anotherfunc and also pass the values from extraArgs to it pass したがって、これは基本的に2つの質問です。 許可されますか? そうである場合、他の関数内で関数をどのように使用しますか?exec()、eval()などを使用する必要がありますか?それらを台無しにする必要はありませんでした。 ところで、extraArgsは別のfuncの引数のリスト/タプルです。

23
一度しか呼び出せないJavaScriptの関数
一度だけ実行できる関数を作成する必要があります。最初の関数が実行された後、毎回実行されません。作業を行うことができる静的変数についてC ++とJavaから知っていますが、これを行うよりエレガントな方法があるかどうか知りたいのですが?

18
再帰関数のしくみを理解する
タイトルが説明するように、私は非常に基本的なプログラミングの質問があります。すべての(非常に賢い)「再帰を理解するには、最初に再帰を理解する必要があります」を除外します。さまざまなオンラインスレッドからの返信まだ十分に理解できていません。 わからないことがわからない場合は、間違った質問をしたり、間違った質問をしたりする傾向があることを理解している。私にとって再帰的な電球をオンにするのに役立つ少しの知識! ここに関数があります(構文はSwiftで書かれています): func sumInts(a: Int, b: Int) -> Int { if (a > b) { return 0 } else { return a + sumInts(a: a + 1, b: b) } } 引数として2と5を使用します。 println(sumInts(a: 2, b: 5)) 答えは明らかに14です。しかし、その値がどのようにして達成されるかははっきりしません。 これらは私の2つのハングアップです: この関数は、条件が満たされるまで再帰的に呼び出されます。その条件はa> bです。この条件が満たされた場合は、0を返します。一見すると、戻り値が0であることが予想されますが、これは明らかに正しくありません。 各反復で「a」の値を出力すると、2、3、4、5と予想される値が得られます(この時点で、5 + 1> bは最初の条件を満たす:a> b)。 14の値がどのように達成されるかを確認します。 私の最初の考えは、次のようなものが魔法のように起こっているということです。 var answer …

14
JavaScript:関数の複製
JavaScriptで関数を複製する最も速い方法は何ですか(そのプロパティの有無にかかわらず)? 心に来る二つの選択肢があるeval(func.toString())とfunction() { return func.apply(..) }。しかし、私はevalのパフォーマンスとラッピングがスタックを悪化させ、多くの場合、または既にラップされている場合にパフォーマンスを低下させるのではないかと心配しています。 new Function(args, body) 見栄えは良いですが、JSのJSパーサーなしで既存の関数を引数と本体に確実に分割するにはどうすればよいですか? 前もって感謝します。 更新: できることとは var funcB = funcA.clone(); // where clone() is my extension funcB.newField = {...}; // without affecting funcA

4
PHP関数のコメント
簡単な質問:一部のPHP関数は、私には知られていない形式を使用して上部にコメントされているのを見てきました。 /** * * Convert an object to an array * * @param object $object The object to convert * @return array * */ 私のIDEでは、@ paramや@returnなどをドロップダウンで選択できるため、どこかに文書化する必要があります。私はグーグルを検索してみましたが、検索に@記号が含まれません。 このコメント形式とは何ですか?また、それに関する情報はどこにありますか?

9
C ++では「int&foo()」は何を意味しますか?
左辺値と右辺値に関するこの説明を読んでいると、次のコード行が突き刺さっていました。 int& foo(); foo() = 42; // OK, foo() is an lvalue 私はそれをg ++で試しましたが、コンパイラは「foo()への未定義の参照」と言っています。追加した場合 int foo() { return 2; } int main() { int& foo(); foo() = 42; } 正常にコンパイルされますが、実行するとセグメンテーション違反が発生します。ただの線 int& foo(); コンパイルするだけで問題なく実行されます。 このコードはどういう意味ですか?どのように値を関数呼び出しに割り当てることができますか、そしてそれはなぜ右辺値ではないのですか?

11
JavaScriptで可能な{}キャッチなしで{}を試しますか?
何かを返すか、エラーをスローする関数がいくつかあります。メイン関数でこれらをそれぞれ呼び出し、各関数から返された値を返すか、最初の関数がエラーをスローした場合は2番目の関数に進みます。 だから基本的に私が現在持っているのは: function testAll() { try { return func1(); } catch(e) {} try { return func2(); } catch(e) {} // If func1 throws error, try func2 try { return func3(); } catch(e) {} // If func2 throws error, try func3 } しかし、実際にはtryそれを返したいだけです(つまり、エラーがスローされない場合)。catchブロックはいらない。ただし、try {}(未使用)catch {}ブロックがないため、などのコードは失敗します。 私は入れjsFiddleに例を。 それで、catch同じ効果を達成しながらこれらのブロックを削除する方法はありますか?

9
「int main」です。有効なC / C ++プログラム?
私のコンパイラはそうではないのに、コンパイラがそう思っているように見えるので、私は尋ねます。 echo 'int main;' | cc -x c - -Wall echo 'int main;' | c++ -x c++ - -Wall Clangはこれに関する警告やエラーを発行せず、gccは微妙な警告のみを発行します'main' is usually a function [-Wmain]が、Cとしてコンパイルされた場合のみ-std=です。aの指定は重要ではないようです。 それ以外の場合は、コンパイルして正常にリンクします。しかし、実行すると、SIGBUS(私にとっては)ですぐに終了します。 CとC ++でmain()が何を返す必要があるか(優れた)回答を読む そして、言語仕様をざっと見てみると、メインの機能が必要なように思えます。しかし、gcc ( 'main'は通常は関数です)からの言い回し(およびここでのエラーの不足)は、おそらく別のことを示唆しているようです。-Wmain しかし、なぜ?これには、奇妙なエッジケースまたは「歴史的」な使用がありますか?誰が何を与えるか知っていますか? 私のポイントは、おそらく、これはホストされた環境ではエラーになるはずだと私は本当に思っているということです。
113 c++  c  function  main  entry-point 

9
Math.random()を呼び出す関数は純粋ですか?
以下は純粋な関数ですか? function test(min,max) { return Math.random() * (max - min) + min; } 私の理解では、純粋な関数はこれらの条件に従います: パラメータから計算された値を返します 戻り値を計算する以外は何もしません この定義が正しい場合、私の関数は純粋な関数ですか?または、純粋な関数を定義するものについての私の理解は間違っていますか?

11
Pythonでのパラメータの強制命名
Pythonでは、関数定義がある場合があります。 def info(object, spacing=10, collapse=1) これは、次のいずれかの方法で呼び出すことができます。 info(odbchelper) info(odbchelper, 12) info(odbchelper, collapse=0) info(spacing=15, object=odbchelper) 名前が付けられている限り、Pythonでは任意の順序の引数を使用できるため、 私たちが抱えている問題は、いくつかの大きな関数が成長するにつれて、spacingとの間にユーザーがパラメーターを追加collapseしている可能性があります。つまり、名前が付けられていないパラメーターに誤った値が渡される可能性があります。さらに、何を入れる必要があるかが常に明確であるとは限らない場合もあります。コーディング基準だけでなく、フラグまたはpydevプラグインだけでなく、特定のパラメーターに名前を付けるようにユーザーを強制する方法が必要ですか? 上記の4つの例では、すべてのパラメーターに名前が付けられているため、最後のものだけがチェックに合格します。 奇妙なことに、特定の機能に対してのみオンにするつもりですが、これを実装する方法に関する提案や、それが可能かどうかさえあれば、喜んでいただけます。




弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.