В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Это немного похоже на взлом, но следующее работает в Vim 7.2. Обратите внимание, я запускаю Powershell в сеансе CMD.
if has("win32")
set shell=cmd.exe
set shellcmdflag=/c\ powershell.exe\ -NoLogo\ -NoProfile\ -NonInteractive\ -ExecutionPolicy\ RemoteSigned
set shellpipe=|
set shellredir=>
endif
function! Test()
echo system("dir -name")
endfunction
Протестировано с помощью следующего ...
:! dir -name
: call Test ()
Попытайтесь заменить
"dir \*vim\*"
с
" -command { dir \*vim\* }"
РЕДАКТИРОВАНИЕ: Попытка с помощью cmd.exe в качестве оболочки и помещенного "powershell.exe" прежде "-управляет"
Интересный вопрос - вот что-то еще для добавления к беспорядку. Не внося изменений в мой .vimrc файл, если я тогда выполняю следующие команды в gvim:
:set shell=powershell.exe
:set shellcmdflag=-noprofile
:echo system("dir -name")
Это ведет себя как ожидалось!
, Если я вношу те же изменения в свой .vimrc файл, хотя (оболочка и shellcmdflag опции), работая: система эха ("dir - имя") возвращает символы ерунды!
Я не использую VIM, но значение по умолчанию Powershell произвело, Unicode. Блокнот может считать unicode, Вы могли использовать его, чтобы видеть, получаете ли Вы вывод, Вы ожидаете.
Предлагаю хакерское решение. На самом деле это не решает проблему, но каким-то образом выполняет свою работу.
Этот плагин Vim автоматизирует создание временного файла сценария, вызов PowerShell через cmd.exe и вставку результата. Это не так хорошо, как правильная обработка Powershell с помощью vim, но работает.
Я подозреваю, что проблема в том, что Powershell использует нативную кодировку String для .NET, которая UTF-16 плюс отметка байт-ордера.
Когда он связывает объекты между командами, это не проблема. Хотя для внешних программ это полный PITA.
Вы можете передать вывод через внешний файл, который поддерживает изменение кодировки, но все равно форматирует вывод для терминала, в котором он находится по умолчанию (arrgh!), поэтому такие вещи, как "Get-Process" будут усечены эллипсами, и т.д. Вы можете указать ширину виртуального терминала, который использует Out-File.
Не знаю, насколько эта информация полезна, но она немного больше освещает проблему.
.Код начального примера работает нормально, когда я помещаю его в vimrc.
Так что теперь я пытаюсь понять, что в моем vimrc заставляет его работать. Possibly:
set encoding=utf8
Edit: Да, похоже, это работает. Вы, вероятно, хотите, чтобы VIM по умолчанию использовал юникод в любом случае, в наши дни...