@Haydar11 said in Как сделать чтобы результат был в несколько строк:
Как сделать чтобы результат был в несколько строк?
Выводите его несколько раз
Пытаюсь реализовать в коде функции экшена "шаблон", он же "генератор строк" в ресурсах. Функция взята из исходного кода скрипта бас. Выводит ошибку: Invalid return statement.
Функция такого порядка:
function func_rus_fem_surname(){
_template("\u003cRSurname\u003ea")!
var result = _spintax(_result()).replace("BASASYNC","\)\!").replace(/&#([0-9]+);/g,function(a,s){return String.fromCharCode(parseInt(s))})
return result
}
Пробовал помещать блоки _template и _spintax в _if(true, function(){ ... })!, пробовал запускать строки через eval, пробовал конвертировать шаблон вида "<RSurname>а" в юникод и подставлять в _template(" ... ") при помощи eval.
Ничего не помогает. Моих знаний в js не хватает, кто подскажет, что делать чтобы функция заработала?
@Pragmatik Я задам пожалуй самый очевидный вопрос, а нафига?
@fox делаю свой фреймворк, ставлю перед собой задачу по максимуму то, что умеет бас, вызывать в коде через подобные функции. Да и удобно так, - вместо кучи экшенов один блок кода. И ошибки искать проще, и действий меьше - можно очень сложные и объёмные проекты писать красиво и лакончино.
@pragmatik said in Функция генерации строк: Invalid return statement:
@fox делаю свой фреймворк, ставлю перед собой задачу по максимуму то, что умеет бас, вызывать в коде через подобные функции. Да и удобно так, - вместо кучи экшенов один блок кода. И ошибки искать проще, и действий меьше - можно очень сложные и объёмные проекты писать красиво и лакончино.
Работать с АПИ бас то еще удовольствие. Я убил кучу нервных клеток, что бы изучить все его ньюансы. И с уверенностью могу сказать - намучаетесь )) Особенно неудобно, что нельзя использовать локальные переменные, если скрипт будет компелироваться с защитой. Иначе будет куча непонятных ошибок.
Какие-то отдельные функции конечно можно писать. Но делать как я делал не советую. А я писал огромные скрипты в несколько тысяч строк и все в выполнить код ))
function _call(func_rus_fem_surname, null)!{
_template("\u003cRSurname\u003ea")!
var result = _spintax(_result()).replace("BASASYNC","\)\!").replace(/&#([0-9]+);/g,function(a,s){return String.fromCharCode(parseInt(s))})
var result = _result()
return result
}
???
Пример асинхронной функции
yourFunc= function() {
var value = _arguments(); // your arguments
//....your code
_set_result(yourResult); // instead return
}
_call(yourFunc,value)!
var yourResult = _result();