Вы не объявляете свойства; просто установите this._name = name
.
@Ryan Как мне получить доступ к переменной экземпляра в моем прослушивателе событий?
blockquote>this._name
просто даетundefined
.Каждый вызов функции * работает со своим
this
; ваш слушатель событий является функцией. Вы можете назначитьvar that = this;
вне прослушивателя событий и получить доступ к немуthat
:myFunction() { var that = this; document.getElementById("myElement").addEventListener("click", function() { console.log(that._name); }); }
Или создать новую функцию, которая всегда вызывает ваш с тем же
this
, используяFunction.prototype.bind
:myFunction() { document.getElementById("myElement").addEventListener("click", function() { console.log(this._name); }.bind(this)); }
Или используйте функции стрелок ES6, которые используют значение
this
, где они были определены (лексическийthis
):myFunction() { document.getElementById("myElement").addEventListener("click", () => { console.log(this._name); }); }
Для числовых типов вы можете использовать format_string
:
from pyspark.sql.functions import format_string
(sc.parallelize([(271, ), (20, ), (3, )])
.toDF(["val"])
.select(format_string("%03d", "val"))
.show())
+------------------------+
|format_string(%03d, val)|
+------------------------+
| 271|
| 020|
| 003|
+------------------------+
Для строк lpad
:
from pyspark.sql.functions import lpad
(sc.parallelize([("271", ), ("20", ), ("3", )])
.toDF(["val"])
.select(lpad("val", 3, "0"))
.show())
+---------------+
|lpad(val, 3, 0)|
+---------------+
| 271|
| 020|
| 003|
+---------------+