問題タブ [function]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
memory - より悪い罪: 副作用または巨大なオブジェクトの通過?
関数内のループ内に関数があります。内部関数は、データの大きなベクトルを取得してメモリに保存します(グローバル変数として...「S-Plus」のような「R」を使用しています)。ループは、取得するデータの長いリストをループします。外側の関数がプロセスを開始し、取得するデータセットのリストを渡します。
次のデータセットに移動する前に各データセットを格納するように内部関数をプログラムしたため、外部関数のすべての作業はグローバル変数の副作用として発生します...大きな問題はありません。これは、メモリを大量に消費するベクトルのベクトルを収集して返すよりも良いですか、悪いですか? 優れた第 3 のアプローチはありますか?
データ ベクトルをメモリではなくデータベースに格納すると、答えは変わりますか? 理想的には、終了前に処理されたすべての情報を失うことなく、関数を終了できるようにする (またはネットワーク タイムアウトのために失敗する) ようにしたいと考えています。
php - PHPで文字列を特定の文字数に最も近い単語に切り捨てるにはどうすればよいですか?
PHPで記述されたコードスニペットがあり、データベースからテキストのブロックを取得して、それをWebページのウィジェットに送信します。元のテキストブロックは、長い記事でも短い文でもかまいません。ただし、このウィジェットの場合、たとえば200文字を超える文字を表示することはできません。substr()を使用して200文字でテキストを切り落とすことができますが、結果は単語の途中で切り取られます。本当に必要なのは、200文字の前の最後の単語の最後でテキストを切り落とすことです。
oracle - PLSQで未使用のパラメータからの警告を回避するにはどうすればよいですか?
PL SQLでは、将来の機能を準備するために、パッケージ、関数、またはプロシージャにパラメータを追加したい場合があります。例えば:
それは次のような多くの警告につながる可能性があります
これらの警告を回避するための最良の方法は何でしょうか?
bash - 関数が bash に存在するかどうかを判断する
現在、bash から実行されるいくつかの単体テストを行っています。単体テストは、bash スクリプトで初期化、実行、およびクリーンアップされます。このスクリプトには通常、init()、execute()、および cleanup() 関数が含まれています。しかし、それらは必須ではありません。それらが定義されているかどうかをテストしたいと思います。
以前、ソースを grep して sed することでこれを行いましたが、間違っているように見えました。これを行うよりエレガントな方法はありますか?
編集:次のスニペットは魅力のように機能します:
c++ - C++ で例外指定子を使用する必要がありますか?
C++ では、例外指定子を使用して、関数が例外をスローするかどうかを指定できます。例えば:
次の理由から、実際にそれらを使用することに疑問があります。
- コンパイラは厳密な方法で例外指定子を実際に強制するわけではないため、メリットは大きくありません。理想的には、コンパイル エラーを取得したいと考えています。
- 関数が例外指定子に違反した場合、標準的な動作はプログラムを終了することだと思います。
- VS.Net では、throw(X) を throw(...) として扱うため、標準への準拠は強くありません。
例外指定子を使用する必要があると思いますか?
「はい」または「いいえ」で答え、その理由を説明してください。
c++ - std::tr1::function<> オブジェクトの比較
イベントを処理する関数を格納するために使用される tr1 関数テンプレートを使用して、C++ で C# のようなイベント システムを実装しようとしています。
複数のリスナーをこのイベントにアタッチできるように、ベクトルを作成しました。
リストからハンドラーを削除して、リスナーがイベントを受信するのを停止できるようにしたいと考えています。
では、特定のリスナーに対応するこのリスト内のエントリを見つけるにはどうすればよいでしょうか? リスト内の「関数」オブジェクトが特定の関数を参照しているかどうかをテストできますか?
ありがとう!
編集:boost::signal アプローチを調べたところ、一部の人が提案したように、おそらくトークン システムを使用して実装されているようです。これに関する情報は次のとおりです。オブザーバーは、イベントにアタッチするときに「接続」オブジェクトを保持します。この接続オブジェクトは、必要に応じて切断するために使用されます。というわけでBoostを使ってもtr1で自転しても基本原理は同じみたいです。つまり、少し不器用になります:)
function - MATLAB で関数の依存関係のリストを生成するにはどうすればよいですか?
私が書いた他の関数に依存する私が書いた関数を配布するには、私が書いたすべての m-file を配布せずに、独自の依存関係を持つ関数などを配布するには、依存関係の完全なリストが何であるかを把握する必要があります。与えられた m ファイルに対して。これを行う組み込み/自由にダウンロード可能な方法はありますか?
具体的には、MATLAB 7.4.0 (R2007a) のソリューションに興味がありますが、古いバージョンで別の方法がある場合は、ぜひここに追加してください。
function - 「コンビネータ」の適切な説明 (数学者以外向け)
「コンビネーター」(Yコンビネーターなどであり、会社ではありません )について適切な説明を受けた人はいますか?
再帰と高階関数を理解しているが、理論や数学のバックグラウンドが強くない実用的なプログラマーを探しています。
(注:私はこれらのことについて話していること)
c++ - 未使用の関数宣言を見つけるためのツール?
一部の古いコードをリファクタリングしているときに、特定のヘッダー ファイルが、.cpp ファイルから長い間削除された関数の関数宣言でいっぱいであることに気付きました。これらを自動的に検出 (および削除) できるツールを知っている人はいますか?
javascript - JavaScript クロージャーはどのように機能しますか?
JavaScript クロージャーを構成する概念 (関数、変数など) についての知識はあるが、クロージャー自体を理解していない人に、JavaScript クロージャーをどのように説明しますか?
ウィキペディアにあるスキームの例を見たことがありますが、残念ながら役に立ちませんでした。