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

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

9
Cでの文字列リテラルの「ライフタイム」
次の関数によって返されるポインタにアクセスできませんか? char *foo(int rc) { switch (rc) { case 1: return("one"); case 2: return("two"); default: return("whatever"); } } つまり、C / C ++のローカル変数の存続期間は、実際には関数内だけですよね?つまり、char* foo(int)終了した後、それが返すポインタはもはや何も意味しませんよね? ローカル変数の存続期間について少し混乱しています。良い説明は何ですか?

5
どのように呼び出されても、実行全体を中止するbash関数を作成する方法はありますか?
bash関数で「exit1」ステートメントを使用してスクリプト全体を終了していましたが、正常に機能しました。 function func() { echo "Goodbye" exit 1 } echo "Function call will abort" func echo "This will never be printed" しかし、次のように呼び出された場合、それは機能しないことに気づきました。 res=$(func) サブシェルを作成し、「exit 1」がプライマリではなく、そのサブシェルを中止することを理解しています。 しかし、どのように呼び出されても、実行全体を中止する関数を作成する方法はありますか?実際の戻り値を取得する必要があります(関数によってエコーされます)。
83 bash  function  exit  subshell 

3
別のファイル/スクリプトをスレッド化または書き込むことなく、サブプロセスで関数を実行することは可能ですか?
import subprocess def my_function(x): return x + 100 output = subprocess.Popen(my_function, 1) #I would like to pass the function object and its arguments print output #desired output: 101 個別のスクリプトを使用してサブプロセスを開くことに関するドキュメントしか見つかりませんでした。関数オブジェクトを渡す方法や、関数コードを渡す簡単な方法を知っている人はいますか?

12
CまたはC ++で構造体を返すのは安全ですか?
私が理解しているのは、これを行うべきではないということですが、このようなことを行う例を見たことがあると思います(コードは必ずしも構文的に正しいとは限りませんが、アイデアはそこにあります) typedef struct{ int a,b; }mystruct; そして、ここに関数があります mystruct func(int c, int d){ mystruct retval; retval.a = c; retval.b = d; return retval; } このようなことをしたい場合は、mallocされた構造体へのポインターを常に返す必要があることを理解しましたが、このようなことを行う例を見たことがあると確信しています。これは正しいです?個人的には、常にmallocされた構造体へのポインターを返すか、関数を参照してパスを実行し、そこで値を変更します。(私の理解では、関数のスコープが終了すると、構造を割り当てるために使用されたスタックはすべて上書きされる可能性があります)。 質問に2番目の部分を追加しましょう:これはコンパイラによって異なりますか?もしそうなら、デスクトップ用のコンパイラの最新バージョン(gcc、g ++、Visual Studio)の動作はどうなりますか? 問題についての考え?

5
Math.max.apply()はどのように機能しますか?
どのように機能しMath.max.apply()ますか? <!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>JS Bin</title> </head> <body> <script> var list = ["12","23","100","34","56", "9","233"]; console.log(Math.max.apply(Math,list)); </script> </body> </html> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max 上記のコードは、リスト内の最大数を検索します。以下のコードはどのように機能するのか誰か教えてもらえますか?合格すればうまくいくようですnull or Math. console.log(Math.max.apply(Math,list)); すべてに、user-defined/Native functions使用できるcall and applyメソッドがありますか?

7
MATLABで、スクリプトと関数定義を同じファイルに含めることはできますか?
関数がf()ありmy_file.m、それをスクリプトであるで使用したいとします。 関数をで定義することは可能my_file.mですか? そうでない場合は、で定義されていると仮定しf.mます。どうすればそれを呼び出すことができmy_file.mますか? オンラインドキュメントを読みましたが、これを行うための最良の方法が明確ではありませんでした。
82 file  matlab  function 

4
データベースの結果から多次元配列を生成する再帰関数
(フラットデータベースの結果から)ページ/カテゴリの配列を取得し、親IDに基づいてネストされたページ/カテゴリアイテムの配列を生成する関数を作成しようとしています。これを再帰的に実行して、任意のレベルのネストを実行できるようにします。 例:1つのクエリですべてのページをフェッチしていますが、これはデータベーステーブルの外観です。 +-------+---------------+---------------------------+ | id | parent_id | title | +-------+---------------+---------------------------+ | 1 | 0 | Parent Page | | 2 | 1 | Sub Page | | 3 | 2 | Sub Sub Page | | 4 | 0 | Another Parent Page | +-------+---------------+---------------------------+ そして、これは私がビューファイルで処理するために最終的に使用したい配列です: Array ( [0] …

2
単一のパイプを使用するとどうなりますか '|' 関数の引数で行う?
たとえば、次のコードを考えてみましょう。 phpinfo(INFO_MODULES | INFO_ENVIRONMENT | INFO_VARIABLES); 単一の引数が使用されていますが、単一のパイプ記号で区切られたオプションのリストを提供しています。 関数の引数値は正確に何が起こっているのですか? 同じことを自分の関数で使用できますか? そうですか、代わりに配列を渡すと言うよりも、これには利点がありますか?

7
jQuery'.change()または.keyup() 'の場合
jQueryを使用して、.change()または.keyup()が発生したときに関数を実行したいと思います。 このようなもの。 if ( jQuery(':input').change() || jQuery(':input').keyup() ) { alert( 'something happened!' ); } 編集 申し訳ありませんが、言及するのを忘れました。両方とも.change()、.keyup()範囲内にある変数のいくつかが必要です。

9
関数が複数の値を返すのはpythonicですか?
Pythonでは、関数に複数の値を返すようにすることができます。不自然な例を次に示します。 def divide(x, y): quotient = x/y remainder = x % y return quotient, remainder (q, r) = divide(22, 7) これは非常に便利なようですが、悪用される可能性もあるようです(「関数Xは、必要なものを中間値としてすでに計算しています。Xにその値も返させましょう」)。 いつ線を引き、別の方法を定義する必要がありますか?

5
デコレータでPython関数定義をバイパスする方法は?
グローバル設定(OSなど)に基づいてPython関数定義を制御できるかどうかを知りたいです。例: @linux def my_callback(*args, **kwargs): print("Doing something @ Linux") return @windows def my_callback(*args, **kwargs): print("Doing something @ Windows") return 次に、誰かがLinuxを使用している場合、最初の定義my_callbackが使用され、2番目の定義は黙って無視されます。 OSを決定することではなく、関数定義/デコレータについてです。

4
((void(*)())buf)();とは 平均?
私はpicoCTFでのバイナリの悪用の課題を解決しており、次のコードに遭遇しました。 ((void (*)())buf)(); どこbufの文字列です。 私は問題を解決しましたが、それが何をしているのか正確に理解できないようです。私はこのスレッドを見ましたが、理解できませんでした。 どういう((void (*)())buf)();意味ですか?


5
ジェネレーターを呼び出す関数から戻るか、それとも譲りますか?
私はジェネレーターgeneratorとそれに便利なメソッドを持っています- generate_all。 def generator(some_list): for i in some_list: yield do_something(i) def generate_all(): some_list = get_the_list() return generator(some_list) # <-- Is this supposed to be return or yield? すべきgenerate_all returnかyield?私は両方の方法のユーザーにそれを同じように使用して欲しい、すなわち for x in generate_all() 等しいはずです some_list = get_the_list() for x in generate(some_list)

4
Cの絶対値関数がconst入力を受け入れないのはなぜですか?
Cでは、絶対値関数(floatを受け入れる)のプロトタイプは次のとおりです。 float fabsf( float ); このプロトタイプが次のように定数値を受け入れないのはなぜですか。 float fabsf( float const ); fabsfは入力の値を変更しませんか? 入力を受け入れてfabsfを呼び出す関数がある場合、入力をconstとして指定しないように強制されますか? この状況でconstの正確さを処理する適切な方法は何ですか?

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