12
A
答えて
21
いずれかTheClass.this.a
、またはTheClass
にthis
にエイリアスを与える(self
、それを呼び出すことが通例である)
class TheClass { self =>
val a = "abc"
val traitInstance = new TheTrait {
def a = self.a
}
}
1
外ヴァルス/ VARSは、ファンクションブロック内にある場合は、問題を乗り越えるための方法はにありますそれらを匿名クラスにラップし、特定の名前を付けます。 s.a.もちろん
val a=1
val c = new { val a=a } // does not compile
val s = new { val a=1 }
val c = new { val a=s.a } // compiles :)
また、単に別の名前を使用すると、トリックを行うだろうが、それはこれがそれらのための代替である_ $などと接頭辞/後に付けを意味する場合があります。
関連する問題
- 1. ディレクティブでng-repeat内の外側スコープにアクセスする方法
- 2. ラムダの外側のスコープ名にアクセスするには、g ++またはVisualかどちらかですか?
- 3. 内側のスコープ内にある外側の角度成分スコープ要素にアクセスする
- 4. Javascriptスコープ - スコープ外の値にアクセスできない
- 5. 外側のスコープ変数
- 6. 同期外にTizenのスコープからの値を取得してアクセスします
- 7. スコープ外のクラスデータにアクセスする
- 8. onCreateの外側のメソッドからUIにアクセスする
- 9. スコープ内のngRepeatからngInit値にアクセスする方法
- 10. PHPのループの外側の配列値にアクセスする方法
- 11. 外側スコープで定義された変数の内部スコープ変更値
- 12. if文の外側でリストからアクセスできるようにするには?
- 13. ディレクティブから親スコープにアクセス
- 14. CodeIgniter - Ajaxから$ thisスコープにアクセスする
- 15. DirectiveからAngularJSスコープにアクセスする
- 16. 外部スコープのアクセス変数
- 17. モデルを最も外側のディレクトリからアクセスする
- 18. ラムダ式は、スコープ外のクラスのプライベートメソッドにアクセスできますか?
- 19. pytest fixtures外側のスコープから名前を再定義する[pylint]
- 20. 可変スコープの混乱(外側スコープのシャドーイング変数)
- 21. ng-repeatスコープ外のオプション値にアクセスしました
- 22. viewModelにアクセスviewModelのスコープ外の
- 23. C#外部スコープからのデータテーブルへのアクセス
- 24. Azure Ubuntu VMの外側からApacheにアクセスできない
- 25. cakephpの外側からcakephpセッション(auth)にアクセス
- 26. SQL - 最も内側の条件節から外部表にアクセス
- 27. readFileの外部スコープ変数にアクセス
- 28. メソッドの外側でselectedCategoryIdの値にアクセスすることはできません
- 29. 関数スコープの外側でMethod.callから返された値を使用するメテオ
- 30. トリガng-repeatの外側にある角度スコープのID
これは、外側のメンバーがクラスまたは特性に属している場合に機能します。私は関数ブロック内に導入された値を参照するために 'a'を望むならば、スコープを逃れる方法はないと思いますか?これらの値の名前を変更するだけです。 – akauppi
'self'は' TheClass.this'よりも優れているようです。どちらがお勧めですか? – Jus12