170 похожих чатов

Дорогие друзья, объясните как в функции next работает получение лексемы? Я

просто не на Java пишу, а мне этот код надо сделать на другом языке, и не понятно каким образом тут происходит получение элементов из списка. Типо изначально позиция вообще не зарезервирована, как я понимаю она равна 0, а потом в lexemes.get(pos++) происходит для меня магия, получается элемент с индексом 0 и потом pos + 1?

public static class LexemeBuffer {
private int pos;
public List<Lexeme> lexemes;
public LexemeBuffer(List<Lexeme> lexemes) {
this.lexemes = lexemes;
}
public Lexeme next() {
Lexeme lexeme = lexemes.get(pos++);
System.out.println("get in buffer: " + lexeme.value);
return lexeme;
}
public void back() {
pos--;
}
public int getPos() {
return pos;
}
}

4 ответов

14 просмотров

Всё так. Сначала pos = 0 (в Java примитивы = 0 явно всегда), потом в первом вызове lexemes.get(pos) возвращается и инкрементится pos на 1 и так далее.

Anton Ermak
Всё так. Сначала pos = 0 (в Java примитивы = 0 явн...

черт, а почему у меня на питоне тогда алгоритм иначе работает)

Anton Ermak
Всё так. Сначала pos = 0 (в Java примитивы = 0 явн...

а get ссылку создает или забирает значение?

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

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
Гляньте, че бывает: Сегодня по одному проекту одной вебстудии делал проект небольшой, на их хостинге. На Modx revo. В определенный момент , работая в админке, вдруг перестал р...
Artem
7
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
12
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Кто нибудь либу Zstandart использовал ? Это либа для сжатия от Цукерберга
Andrey Electron
9
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Карта сайта