Latest post of the previous page:
А хотелось бы.Skirda wrote:а ХЗ.
Возможно ли научить mmode() отключать/включать "квотировование" бэкслешем?
Latest post of the previous page:
А хотелось бы.Skirda wrote:а ХЗ.
нет, т.к. mmode вызывается в процессе выполнения макроса, а разбор строки - на этапе компиляции макроса.John Doe wrote:Возможно ли научить mmode() отключать/включать "квотировование" бэкслешем?
Я правильно понимаю - если пихать в макросы метасимволы, то оно таки подставляет, но спотыкается на слешах?replace("!#!\\!.!", "\\", "/")
MSDN wrote:A regular string literal consists of zero or more characters enclosed in double quotes, as in "hello", and may include both simple escape sequences (such as \t for the tab character) and hexadecimal and Unicode escape sequences.
A verbatim string literal consists of an @ character followed by a double-quote character, zero or more characters, and a closing double-quote character. A simple example is @"hello". In a verbatim string literal, the characters between the delimiters are interpreted verbatim, the only exception being a quote-escape-sequence. In particular, simple escape sequences and hexadecimal and Unicode escape sequences are not processed in verbatim string literals. A verbatim string literal may span multiple lines.
Какая уж там терминология, даже орфографию не правят...DrKnS wrote:Пусть будет, чего свою терминологию придумывать.
Чтобы включить знак двойной кавычки в строку в кавычках с @, следует использовать знак кавычек дважды
Code: Select all
replace(@"!#!\!.!", @"\", "/")
Code: Select all
replace(@"!#!\!.!", "\\", "/")
Это не все проблемы решаетSkirda wrote:обязательно и дважды-двойные кавычки тоже
Code: Select all
doskey msg=macro:post msgbox("",@"$*")
Я как раз искал что-то подобное в энциклопедии. Видимо, где-то не там искал...Skirda wrote:а ХЗ.
хмм, а кто мешает написать так:ы?Code: Select all
replace(PPanel.Path+"/"+PPanel.Current, "\\", "/")
Code: Select all
macro:post print("view:<? diff
!?$UnixDiff$Options ((-c, -b etc.)):?!
-x 'CVS' -x '.svn' -I '\\$Id.*\\$' --strip-trailing-cr -- '" +
replace(PPanel.Path + "/" + PPanel.Current, "\\", "/") + "' '" +
replace(APanel.Path + "/" + APanel.Current, "\\", "/") + "'") Enter