Я имею в виду, что компоненты массива являются константами, т. е. [0] является постоянной переменной, такой как этот открытый статический окончательный int SIZE = 10;
blockquote>Вы не можете указывать имена индексов массива.
Вы можете инициализировать массив, используя значения ранее существовавших констант:
public static final int SIZE = 10; public static final int[] CONSTANTS = { SIZE };
Имейте в виду, что, хотя массив объявлен
final
, его значения могут все еще меняются.final
только гарантирует, что вы не можете повторно назначить переменную массива, поэтому вы захотите инкапсулировать массив, чтобы предотвратить мутацию:final class Constants { public static final int SIZE = 10; private static final int[] CONSTANTS = { SIZE }; public static int getConstant(int index) { return CONSTANTS[index]; } }
Если вы хотите использовать цикл, я предлагаю вернуть глубокое копирование массива.
Как предложено @dwc, вот сценарий энергии:
let filename = '.gitignore'
if filereadable(filename)
let igstring = ''
for oline in readfile(filename)
let line = substitute(oline, '\s|\n|\r', '', "g")
if line =~ '^#' | con | endif
if line == '' | con | endif
if line =~ '^!' | con | endif
if line =~ '/ Берут тот источник и помещают его в файл в Вашем сменном каталоге, такой как ~/.vim/plugin/gitignore.vim
. Это считает Ваш .gitignore
файл и проанализирует его, преобразовывая его формат в одно подходящее для wildignore
, и затем устанавливать ту опцию.
Ограничения :
- Это будет читать
.gitignore
файл из каталога, где Вы запускаете энергию. Никакое усилие не приложено, чтобы искать другой .gitignore
файлы и проанализировать их. С другой стороны, Вы могли определить полный путь в файл на первой строке. -
wildignore
опция в энергии не поддерживает понятие [1 111], отрицание игнорирует как Вы, может в .gitignore
файл. Таким образом, Вы не можете сказать :set wildignore=*.html,!foo.html
, чтобы иметь его, игнорируют все файлы HTML кроме foo.html
. Поэтому .gitignore
строки, которые запускаются с! просто проигнорированы.
| let igstring .= "," . line . "*" | con | endif
let igstring .= "," . line
endfor
let execstring = "set wildignore=".substitute(igstring, '^,', '', "g")
execute execstring
endif
Берут тот источник и помещают его в файл в Вашем сменном каталоге, такой как ~/.vim/plugin/gitignore.vim
. Это считает Ваш .gitignore
файл и проанализирует его, преобразовывая его формат в одно подходящее для wildignore
, и затем устанавливать ту опцию.
Ограничения :
.gitignore
файл из каталога, где Вы запускаете энергию. Никакое усилие не приложено, чтобы искать другой .gitignore
файлы и проанализировать их. С другой стороны, Вы могли определить полный путь в файл на первой строке. wildignore
опция в энергии не поддерживает понятие [1 111], отрицание игнорирует как Вы, может в .gitignore
файл. Таким образом, Вы не можете сказать :set wildignore=*.html,!foo.html
, чтобы иметь его, игнорируют все файлы HTML кроме foo.html
. Поэтому .gitignore
строки, которые запускаются с! просто проигнорированы. Vim проигнорирует шаблоны файла, указанные в опции wildignore
, таким образом, можно будет установить их как так:
:set wildignore=*.o,*~,*.pyc
Или место та же строка (без ":") в Вашем ~/.vimrc файл. При необходимости в чем-то более динамическом как корректировка к .gitignore в текущем каталоге затем, необходимо будет сделать некоторые сценарии, но я оставлю это как осуществление для кого-то еще.