Переназначить символ строки - PullRequest
0 голосов
/ 25 мая 2019

У меня есть следующие команды VimScript:

let str="abc"
echo str        # => abc
echo str[1]     # => b
let str[1]="@"  # => E689: Can only index a List, Dictionary or Blob

Похоже, что VimScript не поддерживает индексацию строк в присваиваниях. Поэтому мой вопрос: как я могу оставить второй символ str, чтобы он стал a@c?

Мое текущее решение:

let str=substitute(str,"\\%2c.","@","")

1 Ответ

2 голосов
/ 25 мая 2019

Похоже, что VimScript не поддерживает индексирование строк в присваиваниях.

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

let str = str[0] . '@' . str[2:]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...