Как я могу использовать одинарные и нормальные кавычки в одной строке? - PullRequest
0 голосов
/ 23 февраля 2020

Я работаю над проектом, в котором вы вводите входное предложение, и мне нужно иметь возможность использовать «и» в предложении, например «Ввод» = «Я сказал:« Привет, как дела? » print (Input), в котором я получаю ошибку. Если кто-нибудь знает, как это исправить, было бы замечательно.

Ответы [ 2 ]

2 голосов
/ 23 февраля 2020

См. https://www.lua.org/pil/2.4.html. Lua имеет очень интересную функцию для объявления строки в квадратных скобках:

input = [[I said, "Hi what's up?"]]
input = "I said, \"Hi what's up?\""
input = 'I said, "Hi what\'s up?"'
0 голосов
/ 25 февраля 2020

Я расскажу некоторые вещи в дополнение к тому, что @Darius сказал выше

Когда вы попытались добавить знак кавычки в строку, интерпретатор lua запутался и сломал вашу строку после следующего знака кавычки не доходя до конца строки. Вот причина ошибки.

Попробуйте понять ее с помощью следующего кода

str = "Hello I"m somebody" -- here the interpreter will think str equals to "Hello I" at first, and then it will find some random characters after which may make it confused (as m somebody is neither a variable nor a keyword)"

-- you can also see the way it got confused by looking at the highlighted code

--What you can do to avoid this is escaping the quotes
str = "Hello I\"m somebody" -- here the interpreter will treat \" as a raw character (") and parse the rest.

Вы также можете использовать escape-символ () с другими, такими как \', \" , \[, \n (символ новой строки), \t (вкладка) и т. Д.

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