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

スコープは、値と式が関連付けられている囲みコンテキストです。このタグは、さまざまな種類のスコープに関する質問や、スコープが明確でない可能性がある質問に使用します。

6
ネストされたクラスのスコープ?
Pythonのネストされたクラスのスコープを理解しようとしています。これが私のコード例です: class OuterClass: outer_var = 1 class InnerClass: inner_var = outer_var クラスの作成が完了せず、エラーが発生します。 <type 'exceptions.NameError'>: name 'outer_var' is not defined 試しinner_var = Outerclass.outer_varてもうまくいきません。私は得ます: <type 'exceptions.NameError'>: name 'OuterClass' is not defined outer_varからスタティックにアクセスしようとしていますInnerClass。 これを行う方法はありますか?

6
関数から「ベクター」を返すのはなぜですか?
このコードを検討してください。このタイプのコードを何度か見ました。wordsローカルベクトルです。関数から返すにはどうすればよいですか? 死なないことを保証できますか? std::vector<std::string> read_file(const std::string& path) { std::ifstream file("E:\\names.txt"); if (!file.is_open()) { std::cerr << "Unable to open file" << "\n"; std::exit(-1); } std::vector<string> words;//this vector will be returned std::string token; while (std::getline(file, token, ',')) { words.push_back(token); } return words; }

4
入れ子関数のローカル変数
わかりました、これについては我慢してください。恐ろしく複雑に見えることはわかっていますが、何が起こっているのかを理解するのを手伝ってください。 from functools import partial class Cage(object): def __init__(self, animal): self.animal = animal def gotimes(do_the_petting): do_the_petting() def get_petters(): for animal in ['cow', 'dog', 'cat']: cage = Cage(animal) def pet_function(): print "Mary pets the " + cage.animal + "." yield (animal, partial(gotimes, pet_function)) funs = list(get_petters()) for name, f in funs: …

7
Bash変数スコープ
最後のechoステートメントが空白である理由を説明してください。XCODEwhileループで値が1に増加することを期待しています。 #!/bin/bash OUTPUT="name1 ip ip status" # normally output of another command with multi line output if [ -z "$OUTPUT" ] then echo "Status WARN: No messages from SMcli" exit $STATE_WARNING else echo "$OUTPUT"|while read NAME IP1 IP2 STATUS do if [ "$STATUS" != "Optimal" ] then echo "CRIT: $NAME …
104 bash  scope  pipe 

8
JavaScriptの.filter()メソッドでコールバック関数に追加のパラメーターを渡すにはどうすればよいですか?
配列内の各文字列を指定された文字列と比較したい。私の現在の実装は: function startsWith(element) { return element.indexOf(wordToCompare) === 0; } addressBook.filter(startsWith); この単純な関数は機能しますが、現在wordToCompareがグローバル変数として設定されているためですが、もちろんこれを避けてパラメーターとして渡したいと思います。私の問題は、startsWith()の定義方法がわからないため、1つの追加パラメーターを受け入れることです。これは、取るデフォルトのパラメーターがどのように渡されるかがわからないためです。私は考えられるさまざまな方法をすべて試しましたが、どれも機能しません。 「ビルトイン」コールバック関数に渡されたパラメーター(申し訳ありませんが、これらの適切な用語はわかりません)がどのように機能するかについても説明できたら、すばらしいでしょう。

8
列挙型の名前空間-ベストプラクティス
多くの場合、いくつかの列挙型を一緒に必要とします。時々、名前の衝突があります。これに対する2つの解決策が思い浮かびます:名前空間を使用するか、「より大きな」列挙型要素名を使用します。それでも、名前空間ソリューションには、2つの可能な実装があります。ネストされた列挙型を持つダミークラス、または完全な名前空間です。 3つのアプローチすべての長所と短所を探しています。 例: // oft seen hand-crafted name clash solution enum eColors { cRed, cColorBlue, cGreen, cYellow, cColorsEnd }; enum eFeelings { cAngry, cFeelingBlue, cHappy, cFeelingsEnd }; void setPenColor( const eColors c ) { switch (c) { default: assert(false); break; case cRed: //... break; case cColorBlue: //... //... } } …
102 c++  enums  scope  nested 



6
Javaスイッチ内での変数の宣言と初期化
Javaスイッチについて、おかしな質問があります。 int key = 2; switch (key) { case 1: int value = 1; break; case 2: value = 2; System.out.println(value); break; default: break; } シナリオ1 - key2として、それが正常値を出力2である 私がコメントするつもりだ-シナリオ2 value = 2でcase 2:、それは言ってsquawks ローカル変数の値が初期化されていないかもしれません。 質問: シナリオ1:実行フローがに進まないcase 1:場合(の場合key = 2)、値変数の型はどのようにしてわかりintますか? シナリオ2:コンパイラーが値変数のタイプをとして認識している場合は、。(宣言と初期化)の式にintアクセスしている必要があります。では、なぜローカル変数の値が初期化されていない可能性があると言ってコメントするつもりなのでしょうか。int value = 1;case 1:value = 2case 2:

8
AngularJsでの動的スコープ変数の設定-scope。<some_string>
routeParamまたはディレクティブ属性などから取得した文字列があり、これに基づいてスコープに変数を作成します。そう: $scope.&lt;the_string&gt; = "something". ただし、文字列に1つ以上のドットが含まれている場合は、分割して実際にスコープに「ドリルダウン」したいと思います。そう'foo.bar'なるはず$scope.foo.barです。つまり、シンプルバージョンは機能しません。 // This will not work as assigning variables like this will not "drill down" // It will assign to a variables named the exact string, dots and all. var the_string = 'life.meaning'; $scope[the_string] = 42; console.log($scope.life.meaning); // &lt;-- Nope! This is undefined. console.log($scope['life.meaning']); // &lt;-- …
97 angularjs  scope 

2
匿名関数をパラメーターとして使用して外部変数にアクセスする
基本的に私はこの便利な関数を使用してdb行を処理します(PDOやその他のものに目を近づけます) function fetch($query,$func) { $query = mysql_query($query); while($r = mysql_fetch_assoc($query)) { $func($r); } } この関数を使用すると、簡単に次のことができます。 fetch("SELECT title FROM tbl", function($r){ //&gt; $r['title'] contains the title }); 今、私はすべてを連結する必要があるとしましょう $r['title']、(これは単なる例です)。 どうすればできますか?私はこのようなことを考えていましたが、あまりエレガントではありません: $result = ''; fetch("SELECT title FROM tbl", function($r){ global $result; $result .= $r['title']; }); echo $result;
93 php  closures  scope 


5
Pythonのブロックスコープ
他の言語でコーディングする場合、次のようにブロックスコープを作成することがあります。 statement ... statement { statement ... statement } statement ... statement (多くの)1つの目的は、コードを読みやすくすることです。特定のステートメントが論理ユニットを形成すること、または特定のローカル変数がそのブロックでのみ使用されることを示すことです。 Pythonで同じことをする慣用的な方法はありますか?
93 python  scope 

6
CDIの@ApplicationScopedスコープと@Singletonスコープの違いは何ですか?
CDIには、@ApplicationScopedおよび(javax.inject)@Singleton疑似スコープがあります。それらの違いは何ですか?@ApplicationScopedプロキシされているという事実に加えて、プロキシされて@Singletonいません。 @SingletonBeanをに変更できます@ApplicationScopedか?@ApplicationScopedBeanは2つ(またはそれ以上)のインスタンスを持つことができますか?
92 java  scope  cdi 

3
Perlで「my」キーワードをどのように使用すればよいですか?
オンラインのPerlスクリプトの例では、変数名の前に「my」キーワードが表示され続けますが、それが何を意味するのかわかりません。マニュアルページや他のサイトをオンラインで読んでみましたが、使用方法の見方とマニュアルの違いを考えると、それが何であるかを理解するのに苦労しています。 たとえば、この投稿では配列の長さを取得するために使用されています: Perlで配列のサイズを見つける しかし、マニュアルは言う: リストされた変数は、囲んでいるブロック、ファイル、またはevalに対してローカル(字句的に)であると宣言します。複数の値がリストされている場合は、リストを括弧で囲む必要があります。 それは何をし、どのように使用されますか?

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