initFormat неправильно соединяет строку в моем коде - PullRequest
0 голосов
/ 17 мая 2019

Я изучаю пример GCampax Gtk + Gjs [1] и задаюсь вопросом, как использовать initFormat.

AFAIK, это функциональность JS для объединения строк и переменных, таких как

print("Hello, {0}".format("World"));  //--> Hello, World

но похоже, что в GJS это не работает:

const pkg = imports.package
pkg.initFormat()
print("Hello,{0}".format("World"))  //--> Hello,{0}

Я ожидаю, что Hello, World будет напечатан, но вместо этого я получаю Hello, {0}.

Помощь

[1] https://github.com/gcampax/gtk-js-app

1 Ответ

1 голос
/ 18 мая 2019

initFormat() добавляет метод format() к строкам.Форматы работают так же, как в C и других языках, производных от языка форматирования C printf, поэтому вам нужно написать "Hello, %s".format("World").

Однако эта функция устарела, поскольку JS интерполировал строки.Просто напишите что-то вроде этого:

const target = "World";
print(`Hello, ${target}`);
...