問題タブ [proc]

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.

0 投票する
1 に答える
1774 参照

ruby - シンボルを使用してインスタンス変数にアクセスしますか?

どうやら、Rubyはシンボル付きのインスタンス変数の値を返すコードブロックを作成できます。検討:

今、両方give(5, &:fn)give(5) {|x| x.fn}与える

しかし、&:fn実際にはどういう意味ですか?アンパサンドがProcを次のようなブロックに変換できることを知っています

では、記号:fnはどういう意味ですか?このような使用法のドキュメントはどこで確認できますか?シンボルを使用して、sayやなどのインスタンス変数にアクセスできますperson:newperson[:new]

0 投票する
3 に答える
3385 参照

c - procファイルを編集するには?

実行中のカーネルの途中で、proc ファイル /proc/sys/net/ipv6/route/gc_interval の値を編集したいと考えています。この proc ファイルの値を別の値と比較して編集したいと考えています。

ファイル net/ipv6/ndisc.c の関数 ndisc_router_discovery の有効期間の値によると、gc_intervel の値を 1 から 30 の間で切り替えたいと考えています。Google で検索しましたが、新しい proc エントリを作成することしか見つかりません。しかし、このファイルはすでに存在しています。このファイルの値をその場で変更する方法を教えてください。

編集:カーネルコードを編集してこれを行いたいです。ライフタイムに応じて gc_interval 値を変更する追加のコードを ndisc.c に追加したい

0 投票する
1 に答える
5290 参照

sorting - SAS:procSummaryおよびprocSort

class-clauseでprocsummaryを使用すると、このclass -clauseの順序で観測値が並べ替えられます。

1)私は正しいですか?

2)すべてのフィールドを指定しないとどうなりますか?

3)どちらの処理が速くなりますか:proc summaryまたはproc sort

0 投票する
1 に答える
939 参照

ruby - procsとlambdasとは何ですか?実例をお願いします

重複の可能性:
ラムダを使用する場合、Proc.newを使用する場合

(何度か質問されたことは知っていますが、満足のいく答えは見つかりませんでした)誰かがBlocks、Procs、Lambdasについて、そしてなぜ一方を他のものよりも優先して使用する必要があるのか​​、proc、類似、および/またはを使用する必要がある状況について説明してもらえますか?ラムダ。また、コンピュータのメモリにも影響があります。実例をお願いします。

0 投票する
4 に答える
1007 参照

javascript - Rubyスコープ、関数からProcを返す

JavaScriptのバックグラウンドから来て、JavaScriptの動的スコープを使用して関数に値をカプセル化できるようになりました。例えば:

今Rubyでは、このようなものがうまく機能するかどうかはわかりません。

誰かがRubyでスコープがどのように機能するかについて簡単に説明できますか?から返されたProcを呼び出した場合give_me_a_procでも、定義時スコープにアクセスできますか?

また、procを定義すると値は固定Fooされますか、それとも定義された後でもProcに加えられた変更はProcに引き継がれますか?

0 投票する
1 に答える
396 参照

ruby - 評価せずにブロックバインディングを変更しますか?

を使用してブロックのバインディングを変更できることを認識していますinstance_eval

ただし、一部の組み込みメソッドはブロックを受け入れます。その場合、組み込みメソッドの内部をいじらずにブロックのバインディングを変更することはできないようです。

これを回避する方法はありますか?

0 投票する
1 に答える
194 参照

ruby - Rubyで引数を指定してprocs/lambdasを使用する

SSCEを含むように編集

他のProcと一緒にハッシュに追加するProcオブジェクトがあります。

ご覧のとおり、cartを含む配列がありますitemscartただし、インスタンス変数をこのプロシージャのスコープに入れることはできません。したがって、後でrules別の方法でこれらすべてを繰り返すと、undefined variableエラーが発生します。

これを行うポイントは、このカートオブジェクトで実行する必要のあるさまざまなプロモーションルール(関数)があることです。rulesオブジェクトインスタンス変数に繰り返し適用できる、より良い保存方法がある可能性があります。


checkoutオブジェクトのカート(配列)を含むオブジェクトがありますitemitems属性があります:code、、。pricename

次にPromotion、のハッシュを保持するオブジェクトがありますpromotional rules。このハッシュにはProc、これらのルールを保持するオブジェクトが含まれています(これらは、カートオブジェクトで実行され、カートの最終価格を変更する関数です)。ルールは、メソッドを呼び出し、引数として名前を使用して追加および削除できます。

私が抱えている問題は、のハッシュを反復処理するときですpromotional rules。それらのオブジェクトに含まれる関数を実行して状態を変更するために、オブジェクトcartをそれらのオブジェクトのスコープに入れる方法がわかりません。ProcProccart

  1. Proc / lambdaを作成するときにカートオブジェクトを渡しますか?
  2. オブジェクトにカートインスタンス変数を作成し、Promotion設定/取得しますか?
  3. checkoutどういうわけか、オブジェクト内のカート変数を渡しますか?
  4. 私は間違った方法で問題を考えすぎているか、アプローチしていますか?

完全なコードはかなり長いので、gist以下に投稿します。

https://gist.github.com/3163127

0 投票する
3 に答える
91 参照

ruby - &:aFunction の &: は何をしているのですか?

私は誰かの ruby​​ コードをレビューしていますが、その中で彼らは次のようなものを書いています:

:trigger、記号が取得され、それが?&に変換されることを意味します。proc

それが正しければ、を使用する以外に変数をトリガーに渡す方法はありますself.か?

これは関連していますが、答えはありません: http://www.ruby-forum.com/topic/198284#863450

0 投票する
1 に答える
326 参照

linux - /proc ファイルシステムについて

次のprocファイルシステムでコマンドを使用しています

注: 上記のコマンドの基本を知りたいわけではありません。カーネル内に入ったときにすべてが起こることを知りたいのです。として、/proc ファイルの 1 つを実装したいと考えています。

ファイルシステムに 0 がエコーされたときからコードをトレースしたい場合は、どうすればよいですか。これを行うと何が起こるかを追跡したい場合です。

カーネル コードのどこでこの 0 が受け入れられ、変更を加えるためにどの値に格納されるかを確認したいと思います。このコマンドを呼び出すと何が起こるか誰か教えてください。詳しく説明してほしい。コマンドの説明は必要ありません。

カーネル パラメーターの変更方法に関する関連記事も問題ありません。私はこれを読みましたが、そこで説明されていません。http://www.linuxjournal.com/article/8381 ありがとう

0 投票する
2 に答える
5534 参照

sas - グループ内の値に基づいて proc ランク グループに名前を付ける方法はありますか?

proc rankしたがって、10 のグループに分割するために使用した複数の連続変数があります。つまり、観測ごとに 1 つ"GPA""GRP_GPA"値があり、Hmwrk_Hrs と GRP_Hmwrk_Hrs についても同様です。しかし、新しいグループ列のそれぞれについて、値は 1 ~ 10 の間です。グループ内の最小値と最大値の場合、たとえば 1 ではなく 1.2 ~ 2.8 になるようにその値を変更する方法はありますか? proc 形式を使用して手動で実行できることはわかっていますが、sql の場合は if then または case ですが、非常に時間がかかる 40 の異なる列があるためです。