問題タブ [lexical-scope]

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 投票する
8 に答える
3718 参照

c - C: if ステートメント内でポインターを宣言することはできません

関数を指すポインタがあります。私はしたいと思います:

しかし、コードの後半で最初にポインターを使用するときにコンパイラーが文句を言うので、それはできません。

変ですね。if ステートメントがなくても機能しましたが、プログラムがさまざまなソースからデータを取得できるようにする必要があります。これを行うことは可能ではありませんか?そう思います。そうでない場合、私がしようとしているものを取得する他の簡単な方法はありますか?

どうもありがとう。

0 投票する
6 に答える
71399 参照

r - Rで「<<-」(スコープの割り当て)をどのように使用しますか?

Rイントロでスコープについて読み終え​​たところですが、<<-割り当てについて非常に興味があります。

マニュアルには、の1つの(非常に興味深い)例が示されていまし<<-たが、私はそれを理解したと感じています。私がまだ見逃しているのは、これがいつ役立つかという文脈です。

ですから、私があなたから読みたいのは、いつの使用<<-が面白く/役立つかについての例(または例へのリンク)です。それを使用することの危険性(追跡を失うのは簡単に見える)と、共有したいと思うかもしれないヒントは何ですか?

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

perl - 大きなスクリプトで便利な関数をレキシカルにインポートする

List::Util::max多くのことを行う大規模なプログラムの途中など、便利なユーティリティ関数が必要になることがあります。だから私がするなら

プログラムの先頭で、そのシンボルに行き詰まり、名前空間全体を汚染しています。必要なのは 1 つのサブルーチンだけであるにもかかわらずです。

そのため、代わりに別のパターンを試すことを考えていました。

ただし、これには 2 つの問題があります。1 つは、ブロックの最後で自動的にインポートを解除しないことです (drat) unimport

もう 1 つの問題は、明らかにプロトタイプが正しく適用されないことmax( @foobar )です。

ブロックのシンボルを一時的にインポートする簡単な方法はありますか?ブロックの最後でシンボルを自動的に削除し、プロトタイプを正しく処理する方法はありますか?

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

perl - 私の$_; $_が暗示されている場合は何でもします

答えはイエスだと思いますが、確認したいだけです。だから私が持っているなら

my $_;言うに渡されたパラメータを字句化するのに実際に効果的ですか?

この特定のケースでは、DZP :: UnusedVarsTestsを使用していますが、使用していないとの不満があり、my $_;暗黙的に使用しているため、バグであると思われます。

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

perl - 「our」で宣言された変数がファイル間で見えるのはなぜですか?

「私たちの」perldocから:

our は my と同じスコープ規則を持っていますが、必ずしも変数を作成するとは限りません。

これはour、file が最大のレキシカル スコープであるため、 で宣言された変数が複数のファイルにわたって表示されてはならないことを意味します。しかし、これは真実ではありません。なんで?

0 投票する
6 に答える
1522 参照

javascript - JavaScript の質問例: レキシカル スコープ/クロージャ - Eloquent Javascript

私はプログラミングが初めてで、Eloquent Javascriptという本でJSを学ぼうとしています。

これまでのところ、次のコードの例に到達するまでは順調です

注: show は alert に似ていますが、チュートリアルが統合した JS コンソールの画面に変数を表示するだけです。

著者は、これはレキシカルスコープが関数の統合を可能にする方法を示す例であると言います。 ここの章

私が理解していないaddTwoのはaddFive、変数であると思われる and が関数makeAddFunctionandにパラメーターを送信する方法、より具体的には、変数が送信しているパラメーターが parameter であることをadd関数がどのように認識するかです。addnumber

助けてくれてありがとう!

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

ruby - Rubyに入れるようなもの

私はletのような式を書いていました-字句スコープで。

だから私は自分で書いています(悲しいですが、複数のスレッドで失敗します):

私はグーグルでルビーのそのような構造(おそらく追加のブロック定義)を検索しましたが、それを見つけることができません。多分私は何かを失いますか?そのような場合、どのルビーの人々が使用しますか?

PS:私の悪い英語でごめんなさい、あなたは知っています。

UPD:使用例を紹介します。

出力:

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

perl - Perlスコープとローカル変数の寿命

Perlのローカル変数によって割り当てられたメモリ位置はどのくらいの期間存続しますか(配列、ハッシュ、スカラーの両方)?例えば:

"bar"関数が戻った後も、メモリ内の文字列にアクセスできますか?それはどのくらいの期間存続しますか、そしてそれはCの静的変数に似ているか、それともヒープから宣言された変数に似ていますか?

基本的に、これはこの文脈で意味がありますか?

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

lisp - LISPでクロージャの自由変数を検査する方法は?

lispでは、このようなクロージャにバインドされた自由変数をバインドできます...

結果は...

私が知りたいのは、バインドされたクロージャ変数を動的に検査できるかどうかです。

例えば

結果として...

ありがとうSO

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

scope - 字句スコープに関するクエリ

私は語彙スコープを理解しようとしています。字句スコープでは、Cのような構文のコードがあります。

行の実行後、 mainf1()の変数の値y(私はその隣に*を置きます)は1のままですか、それとも8に変更されますか?