Как отобразить последний пересмотр в файле?

Поскольку es2015 становится все более популярным, я публикую этот ответ, который включает использование генератора и итератора для плавной перебора через пары [key, value]. Как это возможно в других языках, например Ruby.

Хорошо, вот код:

const MyObject = {
  'a': 'Hello',
  'b': 'it\'s',
  'c': 'me',
  'd': 'you',
  'e': 'looking',
  'f': 'for',
  [Symbol.iterator]: function* () {
    for (const i of Object.keys(this)) {
      yield [i, this[i]];
    }
  }
};

for (const [k, v] of MyObject) {
  console.log(`Here is key ${k} and here is value ${v}`);
}

Вся информация о том, как вы можете сделать итератор и генератор, который вы можете найти у разработчика Mozilla page.

Надеюсь, это помогло кому-то.

EDIT:

ES2017 будет включать в себя Object.entries, который сделает итерацию по парам [key, value] в объектах еще более Полегче. Теперь известно, что он будет частью стандарта в соответствии с информацией о статусе ts39 .

Я думаю, что пришло время обновить мой ответ, чтобы он стал еще более свежим чем сейчас.

const MyObject = {
  'a': 'Hello',
  'b': 'it\'s',
  'c': 'me',
  'd': 'you',
  'e': 'looking',
  'f': 'for',
};

for (const [k, v] of Object.entries(MyObject)) {
  console.log(`Here is key ${k} and here is value ${v}`);
}

Вы можете узнать больше об использовании на странице MDN

5
задан blahdiblah 12 October 2012 в 23:46
поделиться

6 ответов

Вы пытались использовать рычаги? Они работают над серверной стороной только, но могут добиться цели. Иначе я просто звонил бы, сценарий действительно обновляют пересмотр, если ключевые слова не подходят для Вас.

2
ответ дан 18 December 2019 в 09:55
поделиться

Существует простой инструмент в TortoiseSVN по имени SubWCRev.exe. Это берет пересмотр от пути, и создайте файл из своего собственного шаблона. Можно использовать его в качестве команды перед сборкой.

3
ответ дан 18 December 2019 в 09:55
поделиться

Лучший способ сделать это, имеют сценарий сборки для выпусков, которые определят использование числа пересмотра svnversion или svn info и вставьте его в файл. Всегда полезно иметь сценарий который:

  1. проверяет чистую копию источника в пустой каталог
  2. использование svnversion или что-то подобное для вычислений номера сборки
  3. источник компиляций в продукт
  4. создает архив (zip или tarball или безотносительно) продукта
  5. моется: удаляет все кроме архива

Затем у Вас есть процесс с одним шагом для создания выпуска с легко идентифицируемой версией. Это также помогает Вам постараться не давать кому-то сборку из своей собственной рабочей копии, которая может иметь изменения, которые никогда не проверялись в управление исходным кодом.

8
ответ дан 18 December 2019 в 09:55
поделиться

Автоматически обновите файл как часть создания/развертывания выпуска.

2
ответ дан 18 December 2019 в 09:55
поделиться

На одном проекте, где у меня была причина, делают это, я обманул: это звонит svnversion на себе, когда это запускает.

1
ответ дан 18 December 2019 в 09:55
поделиться

Как alexander сказал, один путь состоит в том, чтобы обновить пересмотр как часть процесса сборки.

Один метод выполнения этого должен взять Ваши сборки конечных версий от автоматизированного процесса сборки, инициированного от Вашей регистрации управления версиями, при помощи инструмента, такие как buildbot.

Сценарий мог бы быть должен инициировать автоматизированную сборку с помощью сценария пострычага на репозитории подверсии. Это заставляет Ваш buildbot обновлять к, последний раз зарегистрировался в пересмотре. Ваш сценарий сборки (например, Make-файл) использовал бы 'svnversion' (или 'svn информация' и grep), чтобы считать пересмотр репозитория и записать это в заголовочный файл, прежде чем сборка произойдет.

После успешной сборки автоматически перепроверьте этот файл в репозиторий с подходящим комментарием о версии выпуска.

1
ответ дан 18 December 2019 в 09:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: