3

私は崇高なエディター2プラグインを書いていますが、セッションの間、変数を記憶してもらいたいと思っています。変数をファイル(パスワード)として保存したくありませんが、コマンドを繰り返し実行できるようにし、変数にアクセスできるようにしたいです。

プラグインをこのように動作させたい...

import commands, subprocess

class MyCommand(sublime_plugin.TextCommand):
  def run(self, edit, command = "ls"):
    try:
      thevariable
    except NameError:
      # should run the first time only
      thevariable = "A VALUE"
    else:
      # should run subsequent times
      print thevariable
4

1 に答える 1

4

これを実現する1つの方法は、グローバル変数にすることです。これにより、任意の関数からその変数にアクセスできるようになります。考慮すべきスタックの質問があります

別のオプションは、それをクラスのインスタンスに追加することです。これは通常__init__()、クラスのメソッドで行われます。このメソッドは、クラスオブジェクトがインスタンス化されるとすぐに実行されます。詳細については、このスタックの説明self__init__()参照してください。これが基本的な例です。

class MyCommand(sublime_plugin.TextCommand):
    def __init__(self, view):
        self.view = view # EDIT
        self.thevariable = 'YOUR VALUE'

これにより、作成後にクラスオブジェクトからこの変数にアクセスできるようになります。このようなものMyCommandObject.thevariable。これらのタイプの変数は、メソッドが呼び出されたウィンドウが閉じられるまで続きます。

于 2013-03-25T16:54:15.290 に答える