Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(core): allow spaces between predefined functions and arguments #22

Open
sal0mander opened this issue Jun 2, 2021 · 3 comments
Open

Comments

@sal0mander
Copy link

Описание тернарного оператора есть здесь: http://wiki.qsp.su/help:conditional

@gretmn102 gretmn102 pinned this issue Jun 4, 2021
@gretmn102 gretmn102 unpinned this issue Jun 4, 2021
@gretmn102
Copy link
Collaborator

@sal0mander О, привет, не ожидал, что сюда вообще хоть кто-то напишет. Собственно, что именно не распознается?
Снимок
Всё вроде бы нормально. Проверял на версии 0.0.6

@sal0mander
Copy link
Author

sal0mander commented Jun 4, 2021

@gretmn102 перепроверил.
Согласен, в случае слитного написания всё ок. В случае использования пробела выдает ошибку распознавания. Пробел движок qsp воспринимает нормально.
image
image
image

@gretmn102
Copy link
Collaborator

@sal0mander Да, я тогда думал, что можно синтаксически отделить функцию от процедуры вроде такой: GS 'иди туда, не знаю куда', 'возьми то, не знаю что', т.е. когда ставим пробел — то всё, это однозначно процедура, и никакими силами не переубедишь парсер в обратном. Только потом дошло, что QSP определяет по имени, с чем имеет дело, что довольно странно и не очевидно, как по мне. Переделать можно, но это тяжело, да и пока не вижу смысла над этим заморачиваться.

Ах да, у нас лютая путаница в терминах, потому и сливаются функции, операторы, процедуры воедино.
Смотри, немного занудства: оператор — это скорее +, -, * и т.п., у которого есть особенная inline-запись в духе arg1 + arg2. Это — бинарный оператор, но в языках программирования есть тернарные операторы, как например в C-подобных языках связка ? и :, т.е. condition ? thenExpr : elseExpr, или как в Python:

x, y = 5, 6
print("x" if x > y else "y")

Да, в Python тернарные операторы выглядят очень странно, ну да ладно. Так вот, когда ты сказал про тернарный оператор, я уж было подумал, что Byte завез что-то такое, потому я и напрягся.

Перенес вопрос на серверную часть, потому что это — клиент для VS Code, и теоретически сервер можно соединить с любым редактором, который поддерживает LSP. Просто VS Code первым под руку попался, на нём, наверное, всё и остановится, хе-хе.

@gretmn102 gretmn102 transferred this issue from QSPFoundation/Qsp.FSharp.VsCode Jun 4, 2021
@gretmn102 gretmn102 changed the title Не распознается оператор IIF feat(core): allow spaces between predefined functions and arguments Sep 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants