Size: a a a

WebAssembly — русскоговорящее сообщество

2021 July 08

a

artalar in WebAssembly — русскоговорящее сообщество
Ничего такого не намечается?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Для начала нужно утвердить правила и семантику для кортежей. В typescript это понятие довольно размыто. Ну то есть можно делать так:

const tuple = [1, ‘hello’]
или
const tuple: [i32, string] = [1, ‘foo’]

но они можут модифичироваться напримр:

function foo(tuple: [i32, string]): [i32, string] {
 tuple[0] = 2;
 tuple[1] = ‘baz’;
 return tuple;
}

Поэтому скорее всего будет нужно делать только так:

const tuple = [1, ‘hello’] as const;
function foo(tuple: readonly [i32, string]): readonly [i32, string] {
}

Что конечно добавляет вербозности, но зато гарантирует неизменяемость и возможность передачи by value
источник

a

artalar in WebAssembly — русскоговорящее сообщество
Так там вообще отдельный синтаксис
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Кстати в TS можно сделать так:

type Tuple<T extends unknown[]> = readonly [...T];

function boo(tuple: Tuple<[number, string]>) {}


но можно ли сделать тип с вариативным колличеством параметров?


type Tuple<…???...> = ???

function boo(tuple: Tuple<number, string>) {}
источник

A

Alexandr Borisovich in WebAssembly — русскоговорящее сообщество
спасибо7Да, у меня демка работает в многопотоке. Создаются воркеры по количеству ядер. Я через emscripten запускал. Но в ссылке  которую кидали выше https://github.com/WebAssembly/proposals#phase-2---proposed-spec-text-available-cg--wg речь о каких-то  дополнительных предложениях к тем что реализованы уже сейчас?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Threads на второй фазе из-за проблем с тестами как уже писали выше, но по факту в FF и Chrome все уже реализовано и без флагов
источник
2021 July 10

N

Nikolay in WebAssembly — русскоговорящее сообщество
боты набежали
источник

IK

IGOR KOKONEV in WebAssembly — русскоговорящее сообщество
MaxGraev, не могли бы Вы посоветовать что посмотреть почитать, чтоб разобраться как передать в Rust функцию не такую примитивную как alert (из javascript), но например такую, которая в самом простом случае повлияет на DOM (например изменить цвет body или простейший текст вставит в div). И еще нельзя ли использовать, вообще, свои собственные функции написанные на javascript и помещенные в отдельный файл.
источник

IK

IGOR KOKONEV in WebAssembly — русскоговорящее сообщество
Вот, например в этом месте:
#[wasm_bindgen]
extern {
   pub fn alert(s: &str);
}
источник

IK

IGOR KOKONEV in WebAssembly — русскоговорящее сообщество
Что необходимо было бы еще сделать чтоб прописать какую-нибудь свою функцию f1(s: &str) вместо alert
источник

IK

IGOR KOKONEV in WebAssembly — русскоговорящее сообщество
Или, по-другому, используем встроенную функцию javascript, такую например:
источник

IK

IGOR KOKONEV in WebAssembly — русскоговорящее сообщество
document.body.style.background = 'red';
источник

IK

IGOR KOKONEV in WebAssembly — русскоговорящее сообщество
Как?
источник

A

Alexandr Borisovich in WebAssembly — русскоговорящее сообщество
на дом ничего повлиять из васма не может. Только ваш воркер может инициировать процесс в васме, получить результат, вернуть в скрипт вызвавший воркер, который и поменяет дом
источник

A

Alexandr Borisovich in WebAssembly — русскоговорящее сообщество
импосибл
источник

IK

IGOR KOKONEV in WebAssembly — русскоговорящее сообщество
Спасибо за ответ.
источник

IK

IGOR KOKONEV in WebAssembly — русскоговорящее сообщество
Разбираюсь.
источник

IK

IGOR KOKONEV in WebAssembly — русскоговорящее сообщество
источник

IK

IGOR KOKONEV in WebAssembly — русскоговорящее сообщество
Здесь взял пример, попробовал - работает. Теперь возник вопрос. Как развить эту возможность?
источник

IK

IGOR KOKONEV in WebAssembly — русскоговорящее сообщество
Здесь две функции всего, для демонстрации вызова javascript в среде rust  и наоборот вызова функции rust в среде javascript:
источник