Scite Lua: сравнение строк вызывает "попытку вызова значения строки"? - PullRequest
2 голосов
/ 27 октября 2010

Попытка написать скрипт Lua для Scite (что-то вроде lua-users wiki: Scite Comment Box ), и когда я пишу следующий фрагмент кода:

fchars = string.sub(line, 1, 3)

if fchars == "//" or fchars == "##" 
  print "got it"
end 

... компиляция завершается с "attempt to call a string value".

Я пробовал разные варианты, такие как:

assert(ktest = (("//" == fchars) or ("##" == fchars)))

... и мне кажется, что компиляция завершается неудачно, когда я пытаюсь создать «составное» логическое выражение, используя логический оператор"or".

Итак, как мне выполнить вышеуказанную проверку в Lua?Может быть, C-подобный синтаксис, как указано выше, вообще не поддерживается - и я должен использовать что-то вроде match ?

Заранее спасибо за любые ответы,
Ура!

Ответы [ 2 ]

5 голосов
/ 27 октября 2010

У меня нормально работали:

line = "//thisisatest"

fchars = string.sub(line, 1, 2) -- I assume you meant 1,2 since // and ##
                                -- are only 2 characters long

if fchars == "//" or fchars == "##" then -- you're missing 'then'
   print("got it!") 
end
3 голосов
/ 27 октября 2010

Pfffft .... синтаксическая ошибка - забыл then в конце:

if fchars == "//" or fchars == "##" then
  print "got it"
end 

Приветствия!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...