- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
async function f()
{
print("Hello World");
}
function main()
{
await f();
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
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
+2
Complex numbers:
>> Complex()({r: 2, i: 0} / {r: 1, i: 1} + {r: -3, i: 2}))
<- {r: -2, i: 1}
Automatic differentiation:
Let f(x) = x^3 - 5x:
>> var f = x => Dual()(x * x * x - {x:5, dx:0} * x);
Now map it over some values:
>> [-2,-1,0,1,2].map(a=>({x:a,dx:1})).map(f).map(a=>a.dx)
<- [ 7, -2, -5, -2, 7 ]
i.e. f'(x) = 3x^2 - 5.
Polynoomials:
>> Poly()([1,-2,3,-4]*[5,-6]).map((c,p)=>''+c+'x^'+p).join(' + ')
<- "5x^0 + -16x^1 + 27x^2 + -38x^3 + 24x^4"
В ЙажаСцрипт завезли перегрузку операторов.
https://gist.github.com/pyrocto/5a068100abd5ff6dfbe69a73bbc510d7
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
<!DOCTYPE html>
<html lang="ru">
<heaad><title>calculator Protestant of sins [beta]</title></head><body><script>
let m = ["сколько Вам лет [в годах]?","мало!","всего наилучшего тебе",0,16668,"сколько вы отдыхаете? [в часах]","у вас накопилось :"," грехов! "];
var x="Этот супер калькулятор поможет тебе подсчитать количество нажитых тобой - за твои годы Грехов!\n Не бойся, смелее вводи свои данные в последующие окошки, и получай результат!\nне переживай, если у тебя получится болше одного миллиона - то это в пределах нормы, если больше то надо делать обряд!";
try{function b(e) {let l=d(c(m[e]));e==0?x=l:0;return l};
function c(a) {return prompt(a)}
function d(d) {if(d<=2){alert(m[1]);d(c(m[0]))}else{return d;}}
if(confirm(x)){let s=0x1E32F50*b(0);let a=x*0x16D*0x18-b(5);alert(m[6]+`${s-a-m[4]-Math.PI}`+m[7])}else{alert(m[2])}}catch(x){alert("©by den")};
</script></body></html>
Hello народ))
Уверен вы ещё не встречали такого супер калькулятора!
Чую даже без запуска вы поймёте что это полное Г
0
function* foo() {
let i = 1;
yield ++i;
yield ++i;
}
function main() {
for (const o of foo()) {
print(o);
}
print("done.");
}
вот... решил самую крутую проблему в итераторах... а ты (С/C++) так можешь?
+2
Steps to reproduce:
var s = "a huge, huge, huge string...";
s = s.substring(0, 5);
Expected results: s takes five bytes of memory, plus some overhead.
Actual results: s takes a huge, huge, huge amount of memory.
Unfortunately, most String functions use substring() or no-ops internally: concatenating with empty string, trim(), slice(), match(), search(), replace() with no match, split(), substr(), substring(), toString(), trim(), valueOf().
My workaround is:
function unleakString(s) { return (' ' + s).substr(1); }
But it's not satisfying, because it breaks an abstraction and forces me to think about memory allocation.
https://bugs.chromium.org/p/v8/issues/detail?id=2869
Status: Assigned (Open)
Reported on: Sep 3, 2013
+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; причем компилятор сам определяет какой вариант лучше юзать