мерзавец и пустые папки

Три версии в Smalltalk, от самого немого для исправления.

<час>

В Smalltalk, = оператор сравнения:

isPalindrome: aString
    "Dumbest."
    ^ aString reverse = aString
<час>

сообщение #translateToLowercase возвращает строку как нижний регистр:

isPalindrome: aString
    "Case insensitive"
    |lowercase|
    lowercase := aString translateToLowercase.
    ^ lowercase reverse = lowercase
<час>

И в Smalltalk, строки являются частью Collection платформа, можно использовать сообщение #select:thenCollect:, таким образом, вот последняя версия:

isPalindrome: aString
    "Case insensitive and keeping only alphabetic chars
    (blanks & punctuation insensitive)."
    |lowercaseLetters|
    lowercaseLetters := aString
        select: [:char | char isAlphabetic]
        thenCollect: [:char | char asLowercase]. 
    ^ lowercaseLetters reverse = lowercaseLetters
28
задан Community 16 May 2017 в 13:11
поделиться

6 ответов

Люди часто помещают в папку пустой файл в качестве заполнителя, чтобы преодолеть это ограничение ...

28
ответ дан 28 November 2019 в 02:21
поделиться

Я обычно помещаю .gitignore в эти каталоги, поскольку вы, вероятно, все равно захотите игнорировать любые данные, сгенерированные во время выполнения.

47
ответ дан 28 November 2019 в 02:21
поделиться

Вы абсолютно правы. Git, как и некоторые другие системы контроля версий, не принимает во внимание пустые папки или свойства папок. Папки существуют только постольку, поскольку в них есть файлы. Если вы хотите смоделировать это, вам нужно поместить в них файлы-заполнители.

8
ответ дан 28 November 2019 в 02:21
поделиться

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

  1. Заставил сборку создать необходимый каталог.
  2. Попросить приложение создавать необходимые каталоги во время работы.

Точно так же, если приложение хочет добавить в файл журнала, оно не имеет смысла запускать этот файл журнала в системе контроля версий, не так ли?

4
ответ дан 28 November 2019 в 02:21
поделиться

Либо поместите пустые файлы-заполнители в папки, которые должен отслеживать git, либо добавьте инструкции по созданию этих папок в вашу систему сборки, если это возможно.

3
ответ дан 28 November 2019 в 02:21
поделиться

Я столкнулся с этой проблемой, когда пытался использовать git в качестве инструмента резервного копирования с поддержкой дедупликации и сжатия.

Моим решением было создание собственной системы. Он доступен на http://github.com/meingbg/store

Опять же, моей целью было хранить файлы, а не работать с кодом.

-3
ответ дан 28 November 2019 в 02:21
поделиться
Другие вопросы по тегам:

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