Последние сообщения

Страницы: 1 ... 8 9 [10]
91
Общий раздел / Re: OberonJS
« Последний ответ от Valery Solovey Февраль 18, 2017, 10:13:31 am »
Можно заголовки у страницы настроить.
<meta http-equiv="Cache-Control" content="no-cache">

Или заголовки у http-ответа указать.
92
Общий раздел / Re: OberonJS
« Последний ответ от vlad Февраль 18, 2017, 07:31:21 am »
Создал тебе issue на GitHub. А обновлять надо с Ctrl+F5, чтобы весь кэш обновился.

Фикснул. Но возможно еще будут какие-то похожие штуки вылазить - сообщай плз.
А с кэшем надо что-то делать - иначе у других пользователей такая же проблема будет.
93
Общий раздел / Re: OberonJS
« Последний ответ от vlad Февраль 17, 2017, 06:18:40 am »
А в качестве value нельзя будет подставить "Math.sin(x)" ?

Можно и так сделать.

Цитата: Ivan Denisov
Дополнительные переменные, это ведь получается лишние затраты на оперативную память. Лучше сразу вернуть значение как-то.

Этого нельзя предположить для современного JS движка. Скорее всего в данном случае код с дополнительной переменной будет оптимизирован так же как и без. Эта фича имеет смысл только для того, чтобы биндинги проще писать было.
94
Общий раздел / Re: OberonJS
« Последний ответ от Ivan Denisov Февраль 17, 2017, 12:46:34 am »
Возможно ли вернуть результат без создания переменной res?

В текущей реализации нельзя. Можно сделать что-то типа "JS.cast(value, type)". Как там принято в обероновском SYSTEM - SYSTEM.VAL?
А в качестве value нельзя будет подставить "Math.sin(x)" ?

Дополнительные переменные, это ведь получается лишние затраты на оперативную память. Лучше сразу вернуть значение как-то.
95
Общий раздел / Re: OberonJS
« Последний ответ от vlad Февраль 16, 2017, 03:02:04 pm »
Возможно ли вернуть результат без создания переменной res?

В текущей реализации нельзя. Можно сделать что-то типа "JS.cast(value, type)". Как там принято в обероновском SYSTEM - SYSTEM.VAL?
96
Общий раздел / Re: OberonJS
« Последний ответ от Ivan Denisov Февраль 16, 2017, 12:42:21 pm »
Вот такой еще вопрос.

PROCEDURE Sin* (x: REAL): REAL;
  VAR res: REAL;
BEGIN
JS.do("res = Math.sin(x)");
RETURN res
END Sin;

Возможно ли вернуть результат без создания переменной res?

Например так как-то сделать возможно?
PROCEDURE Sin* (x: REAL): REAL;
BEGIN
RETURN JS.doReturn("Math.sin(x)")
END Sin;
97
Общий раздел / Re: OberonJS
« Последний ответ от Ivan Denisov Февраль 15, 2017, 04:18:21 pm »
Создал тебе issue на GitHub. А обновлять надо с Ctrl+F5, чтобы весь кэш обновился.
98
Общий раздел / Re: OberonJS
« Последний ответ от vlad Февраль 15, 2017, 04:02:17 pm »
А у тебя похоже moduleLog не может найти, поскольку в кэше старый main.js. Обнови страницу, пожалуйста.

Я пробовал F5 не помогало, на другом компе обновило. Тебе надо поправить вот эту функцию:
function readModule(name){
    return modules['mod'+name];
}

Во-первых, кидай исключение если модуль с именем name не найден. JS так просто исключения не кидает, поэтому это все падает много позже в непонятном месте.

Во-вторых, поскольку компилятор пытается избежать конфликтов со стандартными JS классами, то для Math модуля name будет 'Math$'. Пока можешь сделать костыль типа:
function readModule(name){
    if (name == "Math$" )
        name = "Math";
    return modules['mod'+name];
}

В-третьих, создай issue на гитхабе :) Я его фиксну - имя в читатель модулей должно приходить оригинальное - 'Math'.

В-четвертых, таки нажми F12 и посмотри, что там есть для отладки. Убогость языка компенсируется неплохим дебаггером в любом популярном браузере: Chrome, IE, FireFox, Safari.
99
Общий раздел / Re: OberonJS
« Последний ответ от Ivan Denisov Февраль 15, 2017, 07:22:45 am »
А у тебя похоже moduleLog не может найти, поскольку в кэше старый main.js. Обнови страницу, пожалуйста.
100
Общий раздел / Re: OberonJS
« Последний ответ от Ivan Denisov Февраль 15, 2017, 07:22:00 am »
У меня нет клавиши Break не клавиатуре :(
Я сделал префиксы mod и doc, поскольку подумал, что проблема в том, что стандартная библиотека JavaScript называется Math. Именно с этим модулем Math проблема. Если его закомментировать то этот модуль нормально компилируется.
Страницы: 1 ... 8 9 [10]