Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: JavaScript::Duktape и методы set/get  (Прочитано 7879 раз)
0 Пользователей и 1 Гость смотрят эту тему.
perl6
Помогающий

ru
Offline Offline

« : 02-01-2019 02:03 » 

Приветствую форумчан, с наступившим всех! Никак не могу разобраться, как передать три параметры из перла в js и вытащить оттуда результат. Просьба натолкнуть на решение…
Пример кода

Код: (Perl)
#!/usr/bin/perl -w

$| = 1;
 
use JavaScript::Duktape;

my $js = JavaScript::Duktape->new();
my $duk = $js->duk;

$js->eval(qq/
 function some_function(a, b, c) {
   return a +b + c;
 };
/);

Как из перла передать переменные a, b, c и получить результат в переменную перловую?
« Последнее редактирование: 02-01-2019 02:33 от perl6 » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 02-01-2019 05:14 » 

гугл подсказывает, что вот тут что-то похожее делается
http://perltrap.com/ru/perl-plus-javascript/#.XCxH7lUzZp8
Записан

perl6
Помогающий

ru
Offline Offline

« Ответ #2 : 02-01-2019 18:03 » 

гугл подсказывает, что вот тут что-то похожее делается
http://perltrap.com/ru/perl-plus-javascript/#.XCxH7lUzZp8
Ага, спасибо, только там движок v8 и либа к нему JavaScript::V8, я уже сам изучал материалы.

Upd. Разобрался сам (хитрые пиндосы нормальные доки не могут сделать), задача - передать из перла данные в функцию js и получить данные из js- функции обратно в перл. Вот так работает (может кому пригодится, а то сидел пару часов), простенький пример.
ЗЫ. У меня функций много, там работа с микроконтроллером идет, нет сил просто на перл переписывать, а так все поперло и вроде не тупит.

Код: (Perl)
#!/usr/bin/perl -w

$| = 1;
 
use JavaScript::Duktape;
   
my $js = JavaScript::Duktape->new(max_memory => 256*1024);
my $duk = $js->duk;

$js->eval(qq/
 function test(a, b, c) {
   return a + b + c;
 };
 
/);

my $resp = $js->get_object('test');

print $resp->(1, 2, 3);
« Последнее редактирование: 02-01-2019 20:57 от perl6 » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines