Редакторы редактировали редактировали, да не выредактировали. «Другая» / «другой» исправил, спасибо. Если есть предложения, как лучше фразу построить (не только в этом месте) — напишите.
ClassMethod Run()
{
s query = "select 1 ID union select 2 union select 3"
s %res = ""
d ..OpenAndProcess(query,$classname(),"(p) s $LI(%res,$LL(%res)+1)=p q 0")
if $LISTTOSTRING(%res,",") = "1,2,3" {
w "OK"
} else {
w "FAIL",!
}
}
ClassMethod %OpenId(id)
{
q id
}
XECUTE, начиная с какой-то версии, тоже уже не классическая и может принимать аргументы так же как $xecute (http://docs.intersystems.com/cache20131/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_cxecute)
Смысл в одноразовых функциях такой же как в других неименованных константах.
Ну правильно. А CheckSyntax когда будет вызываться? Во время выполнения кода.
Можно, конечно, на этапе компиляции проверять, но тогда можно просто код генерировать objectgenerator'ом.
Речь шла о том, что когда вы метод пишете вам Студия и синтаксис подсветит и на ошибки укажет, а с $xecute сам следи, чтоб не ошибиться, кавычки на двойные менять нужно.
Вот, кстати, да. Мне кажется, что меня программирование сделало терпимее к чужим ошибкам в почти любой сфере. Зная, как сам иногда косячишь, и к другим относишься попроще.
OCW и Лекториум это здорово, но, по-моему, главная вещь, которая есть в Coursera — это дедлайны. Без них побеждает принцип «не откладывай на завтра то, что можно сделать послезавтра».
И, конечно, задания и квизы с обратной связью.
www.joelonsoftware.com/items/2006/06/16.html
Там пишется, что разработчики Lotus просто проверяли последние два бита. Если нули, то год високосный.
ClassMethod Run()
{
s query = "select 1 ID union select 2 union select 3"
s %res = ""
d ..OpenAndProcess(query,$classname(),"(p) s $LI(%res,$LL(%res)+1)=p q 0")
if $LISTTOSTRING(%res,",") = "1,2,3" {
w "OK"
} else {
w "FAIL",!
}
}
ClassMethod %OpenId(id)
{
q id
}
Смысл в одноразовых функциях такой же как в других неименованных константах.
Можно, конечно, на этапе компиляции проверять, но тогда можно просто код генерировать objectgenerator'ом.
Речь шла о том, что когда вы метод пишете вам Студия и синтаксис подсветит и на ошибки укажет, а с $xecute сам следи, чтоб не ошибиться, кавычки на двойные менять нужно.
И, конечно, задания и квизы с обратной связью.
Статью на хабре я прочёл до середины.
The real benefit of lazy evaluation still has to be evaluated out.