1 (изменено: Странникх, 2015-07-11 07:26:02)

Тема: AHK: Значение переменной в несколько строк

x := "Пример для отправки`nСтрока1`nСтрока2`n`n`nВаш Скрипт"

x = 
(
Пример для отправки
Строка1
)

1::
MsgBox, %x%
Return

Традиционный метод и метод перехода на новую строку с помощью `n работают, а вот в современном я так и не нашел почему.


x := 
"(
Пример для отправки
Строка1
)"

1::
MsgBox, %x%
Return

Как бы одно и то же, а по синтаксису не проходит.

Добавлено:

x := 
(
"Пример для отправки
Строка1"
)

1::
MsgBox, %x%
Return

А... кхм.. извиняюсь за тупой тред, возможно кому пригодится. У меня просто загон по современному методу, визуально в коде красивее.

2

Re: AHK: Значение переменной в несколько строк

Странникх пишет:
x := 
"(
Пример для отправки
Строка1
)"

…по синтаксису не проходит.

Проходит:

x := "
(
Пример для отправки
Строка1
)"

и выглядит краше, чем

Странникх пишет:

Добавлено:

x := 
(
"Пример для отправки
Строка1"
)

Причём открывающая и закрывающая кавычки могут быть расположены обоими способами независимо друг от друга,

+  т.е. также возможно…
x := "
(
Пример для отправки
Строка1"
)

и

x := 
(
"Пример для отправки
Строка1
)"

3

Re: AHK: Значение переменной в несколько строк

закрывающая кавычки могут быть расположены обоими способами независимо друг от друга

Только в моем примере они не работают, если именно так расположить:

x := 
"(
Пример
)"

4

Re: AHK: Значение переменной в несколько строк

Разве среди моих примеров есть такой? Открывающая кавычка в предыдущей строке, если не после скобки.

5

Re: AHK: Значение переменной в несколько строк

А подскажите как можно упростить этот текст или даже написав его так, чтобы тот работал?


monitor1_sms := "no"
monitor2_sms := "no"
monitor3_sms := "yes"
monitor4_sms := "no"
BoxMonitor1_SMS := "1"
BoxMonitor2_SMS := "2"
BoxMonitor3_SMS := "Четко!"
BoxMonitor4_SMS := "4"
monitor1_sms_analyze := "no"
monitor2_sms_analyze := "no"
monitor3_sms_analyze := "no"
monitor4_sms_analyze := "no"
BoxMonitor1_SMS_Analyze := "11"
BoxMonitor2_SMS_Analyze := "22"
BoxMonitor3_SMS_Analyze := "33"
BoxMonitor4_SMS_Analyze := "44"

sBody :=
(
"" . monitor1_sms_analyze = "yes" ? BoxMonitor1_SMS_Analyze : 
(monitor2_sms_analyze = "yes" ? BoxMonitor2_SMS_Analyze :     
(monitor3_sms_analyze = "yes" ? BoxMonitor3_SMS_Analyze : 
(monitor4_sms_analyze = "yes" ? BoxMonitor4_SMS_Analyze : 
(monitor1_sms = "yes" ? BoxMonitor1_SMS : 
(monitor2_sms = "yes" ? BoxMonitor2_SMS : 
(monitor3_sms = "yes" ? BoxMonitor3_SMS : 
(monitor4_sms = "yes" ? BoxMonitor4_SMS : 2)))))))  . ""
)
Return

1::
MsgBox, %sBody%
Return

6 (изменено: wisgest, 2015-07-11 11:53:13)

Re: AHK: Значение переменной в несколько строк

Так что ли?

monitor1_sms := "no"
monitor2_sms := "no"
monitor3_sms := "yes"
monitor4_sms := "no"
BoxMonitor1_SMS := "1"
BoxMonitor2_SMS := "2"
BoxMonitor3_SMS := "Четко!"
BoxMonitor4_SMS := "4"
monitor1_sms_analyze := "no"
monitor2_sms_analyze := "no"
monitor3_sms_analyze := "no"
monitor4_sms_analyze := "no"
BoxMonitor1_SMS_Analyze := "11"
BoxMonitor2_SMS_Analyze := "22"
BoxMonitor3_SMS_Analyze := "33"
BoxMonitor4_SMS_Analyze := "44"

sBody
    := monitor1_sms_analyze = "yes" ? BoxMonitor1_SMS_Analyze
     : monitor2_sms_analyze = "yes" ? BoxMonitor2_SMS_Analyze            
     : monitor3_sms_analyze = "yes" ? BoxMonitor3_SMS_Analyze            
     : monitor4_sms_analyze = "yes" ? BoxMonitor4_SMS_Analyze            
     : monitor1_sms = "yes" ? BoxMonitor1_SMS                            
     : monitor2_sms = "yes" ? BoxMonitor2_SMS                            
     : monitor3_sms = "yes" ? BoxMonitor3_SMS                            
     : monitor4_sms = "yes" ? BoxMonitor4_SMS : 2                        
Return

1::
MsgBox, %sBody%
Return

7

Re: AHK: Значение переменной в несколько строк

Да, спасибо большое. Жалко это не документировано, либо я не увидел.

8

Re: AHK: Значение переменной в несколько строк

Splitting a Long Line into a Series of Shorter Ones:

A line that starts with "and", "or", ||, &&, a comma, or a period is automatically merged with the line directly above it (in v1.0.46+, the same is true for all other expression operators except ++ and --).