Это означает, что если x
установлено, значение для z
будет x
, в противном случае, если y
установлено, тогда его значение будет установлено как значение z
.
это то же самое, что и
if(x)
z = x;
else
z = y;
. Это возможно, потому что логические операторы в JavaScript не возвращают логические значения, а значение последнего элемента, необходимого для завершения операции (в предложении OR это первое недопустимое значение, в предложении AND это будет последнее). Если операция завершается с ошибкой, возвращается false
.
Используйте макрос C #include
, и gcc -E
(-E ключевой препроцессор выполнений без компилятора)
Добавляют это к Вашему js файлу:
const shader = `
#include "shader.fg"
`
и оболочка использования после:
mov main.js main.c
gcc -E --no-warnings main.c | sed '/^#.*/d' > main.js
sed
здесь просто удаляет дополнительные комментарии, сгенерированные препроцессором
, Он работает!;)