Define Class()内のMethod()宣言内で定義された変数?Function()では、変数をローカルで宣言できます。しかし、Define Class()内のMethod()に関しては、メソッド内にスコープされた一時的なローカル変数に対する規定はないようです。
これは、Method()内で宣言された変数が永続的であり、クラスの外部から見えることを意味しますか?
Re:Define Class()内のMethod()宣言内で定義された変数?メソッド内でLocal()関数を使用できませんか?
Re:Define Class()内のMethod()宣言内で定義された変数?多分。Local()でメソッドのコンテンツをラップすると失敗しますが、クラスレベルの変数をすべて修飾する名前空間を試すことができます。
実際、私は実験をしました(尋ねる前に試してみるべきでした)、メソッド内で宣言された変数は、名前空間接頭辞があっても外部から参照できないようです。したがって、特に指定しない限り、メソッドに対して自動的にローカルであるように見えます。
より広範な質問では、「プライベート」変数と同等のものを得るにはどうしますか。Getメソッドを介してのみクラス変数にアクセスできるようにしたいとしますか?Re:Define Class()内のMethod()宣言内で定義された変数?いいえ、メソッド内でLocal()を使用するつもりでした。
あなたはあなた自身の質問に答えたと思います:getterおよびsetterメソッドを使用して、インスタンスまたはクラスのプロパティのアクセスと制御を管理します。
Re:Define Class()内のMethod()宣言内で定義された変数?わかった。クラスレベルの変数を含む計算にメソッドローカル変数を割り当てる式がある状況があります。Local()を使用する場合、Local句内のすべてのクラスレベル変数の前に「this:」を付けるだけだと思います。
とにかく、私の実験に基づいて、これはとにかく必要ではないかもしれません。私はただ、何がどこに見えるのかを感じようとしていました。Re:Define Class()内のMethod()宣言内で定義された変数?私はこれを理解することに近づいていますが、さらにいくつかのことで私を助けることができますか?
(1)クラス変数とインスタンス変数:JSLにはこの区別がありますか。もしそうなら、どのように変数を作成しますか。
(2)プライベートインスタンス変数とパブリックインスタンス変数:JSLにはこの区別がありますか?その場合、変数をプライベートにするにはどうすればよいですか?
#2については、確かに変数にGet / Setを実装できますが、変数に直接アクセスするのを防ぐ方法はわかりません。
JSLクラスモデルにはこれらの区別がないのかもしれませんが、それで問題ありませんが、私はこれを頭の中ではっきりさせようとしています。
Re:Define Class()内のMethod()宣言内で定義された変数?JSLクラスを再度見ることなく、以前に応答したことを認めます。それらが最初に導入されて以来、私はそれらを研究も使用もしていません。ご迷惑をおかけして申し訳ございません。
ドキュメントが述べているように、プライベートメンバー、メソッド、または関数はありません。プライベートプロパティを宣言する方法が見つかりません。
いいえ、JMPは個別のクラス変数とインスタンス変数を提供しません。