- 1
- 2
- 3
- 4
- 5
- 6
- 7
function main() {
for await (const v of [1, 2, 3, 4, 5]) {
print(v);
}
print("done.");
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 129
0
function main() {
for await (const v of [1, 2, 3, 4, 5]) {
print(v);
}
print("done.");
}
вот такой чудный говнокод подоспел... (иногда глючит если врубить GC - видимо я что-то не добавил)
0
async function f()
{
print("Hello World");
}
function main()
{
await f();
}
Ну что заскучились... есть новость... первый async/await ... так что с почином - асинков. но это только начало ... Для любознательных дампик... https://pastebin.com/rwnsrdLx (для SEO https://github.com/ASDAlexander77/TypeScriptCompiler) и результат работы
C:\temp>C:\dev\TypeScriptCompiler\__build\tsc\bin\tsc.exe --emit=jit --shared-libs=C:\dev\TypeScriptCompiler\__build\tsc\bin\TypeScriptGCWrapper.dll --shared-libs=C:\dev\TypeScriptCompiler\3rdParty\llvm\debug\bin\mlir_async_runtime.dll C:\temp\1.ts
Hello World
0
// больше говнокодить не могу. сайт не дает мне писать коменты.
// на последок говнокод
const adapter = await navigator.gpu.requestAdapter();
const device = this.device = await adapter.requestDevice();
if (!device) {
document.body.className = 'error';
alert("No WebGPU");
return;
}
const computeShaderSource = document.getElementById("calculate").value;
const computePipeline = device.createComputePipeline({
compute: {
module: device.createShaderModule({
code: computeShaderSource,
}),
entryPoint: 'main',
},
});
просто говнокод. больше говнокодить не могу. сайт не дает мне писать коменты.
−1
function* foo2() {
yield 2;
yield 3;
}
function* foo() {
yield 1;
yield* foo2();
yield 4;
}
function main() {
for (const o of foo()) {
print(o);
}
print("done.");
}
продолжаем "наговнокодить". Добавил "елдак" со "звездой". Где тут наши препроцессорописатели.. дайте аналог на C/C++.
−1
function* foo() {
let i = 1;
while (i < 10)
yield ++i;
}
function main() {
for (const o of foo()) {
print(o);
}
print("done.");
}
возрадуйтесь браться и сестры .. я вам благую весть принес... наконец-то я доделал это ..говно.. и "елдаки" теперь работают нормально.
0
void receivePtrs(void **);
int main() {
L:
receivePtrs((void *[]){ &&L, 0, 0 });
}
что делает этот код?
0
function* foo() {
let i = 1;
yield ++i;
yield ++i;
}
function main() {
for (const o of foo()) {
print(o);
}
print("done.");
}
вот... решил самую крутую проблему в итераторах... а ты (С/C++) так можешь?
+1
function *foo()
{
yield 1;
yield 2;
yield 3;
}
function main()
{
for (const o of foo())
{
console.log (o);
}
}
main();
давайте посмотрим, как TS/JS имплементирует "елды". изначально код выглядит красиво. но заглянем под капот что генерит tsc для выполнение такого кода. мне придется разбить этот ужос
+2
class IntIter {
constructor(private i = 0) {}
next() {
type retType = [value: typeof this.i, done: boolean];
if (this.i < 10) {
return <retType>[this.i++, false];
}
return <retType>[this.i, true];
}
}
function main() {
let it = new IntIter();
for (const o of it)
{
print(o);
}
for (const o of "Hello")
{
print(o);
}
}
добавил поддержку ForOf для ES2015 и ES3; причем компилятор сам определяет какой вариант лучше юзать
+1
type a = 1;
type i = a & a;
type j = a | a;
function main() {
let v1: i;
let v2: j;
assert(sizeof(i) != sizeof(j));
print("done.");
}
ну все я понял вам скучно... как насчет такого примера?