М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 2 июня 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

24 Кб, 413x310

10 Май, 16:09 #739345 В конец треда | Веб

Create array A of 368 functions so that
A[0]() prints '0',
A[1]() prints '1', etc.

====================================
Создайте массив 368 функциий, каждая из которых печатает индекс массива, в котором она находится, например:

А[0]() -> "0"
А[10]() -> "10"

Ответы>>739357>>739383>>739432>>739434>>739509>>739937>>739997>>740151>>742782>>743228>>745522

10 Май, 16:10 #2 #739348

Оцените, насколько это сложная задача?

10 Май, 16:11 #3 #739350

На ДжаваСкрипте

10 Май, 16:16 #4 #739357

>>739345 (OP)
http://ideone.com/4stbSW
[code lang=haskell]
massiv_A :: [IO ()]
massiv_A = map print [0..367]

main :: IO ()
main = do
massiv_A !! 0
massiv_A !! 10
[/code]

Ответы>>739362>>739403>>739536>>739561>>743161

10 Май, 16:18 #5 #739362

>>739357
Пукнул твоей мандаде в комбинатор, а потом наредуцировал сверху. :)

Ответы>>739364

10 Май, 16:18 #6 #739363

var arr = [];
for(var i = 0; i < 368; i++) {
arr = function() {
console.log(i);
}
}

Сделал. Как платить удобнее?

Ответы>>739365>>739366>>739368>>739371>>739375

10 Май, 16:19 #7 #739364

>>739362
Зря старался, мне это лень вычислять.

Ответы>>743859

10 Май, 16:19 #8 #739365

>>739363
>arr =
Проебалося.

Ответы>>739367

10 Май, 16:20 #9 #739366

>>739363
Пиздец ты ЛС.

10 Май, 16:20 #10 #739367

>>739365
Сука.
arr[ i ]

10 Май, 16:20 #11 #739368

>>739363
Я в жс не оче, но, кажется, ты обосрался.

Ответы>>739371

10 Май, 16:21 #12 #739371

>>739368
>>739363
Я про то, что переменная, которую захватывают замыкания, изменяется.

10 Май, 16:24 #13 #739374

var array_of_functions = [];
for(var i = 0; i < 368; ++i) array_of_functions = function() { return i; }
for(var func in array_of_functions) console.log(func);

Ответы>>739384

10 Май, 16:24 #14 #739375

>>739363
Вот так наши вероятные кандидаты и проёбывают свою работу.

var arr = [];
for(var i = 0; i < 368; i++) {
arr = function() {
console.log(i);
}
}
arr[0]()

368

Ответы>>739380>>740094

10 Май, 16:26 #15 #739380

>>739375
Надо же, как я угадал. А ведь на жс в жизни не писал.

19 Кб, 435x286

17 Кб, 480x223

10 Май, 16:26 #16 #739381

https://toster.ru/q/177435

Ответы>>739386>>739395>>739402

10 Май, 16:27 #17 #739383

>>739345 (OP)
http://codepen.io/anon/pen/xVBGjW
mandadopukatel'

10 Май, 16:28 #18 #739384

>>739374
Say what?

10 Май, 16:29 #19 #739386

>>739381
O!

84 Кб, 470x518

10 Май, 16:32 #20 #739395

>>739381
У вас СЛИШКОМ МАЛО ФУНКЦИЙ

Ответы>>739414

10 Май, 16:34 #21 #739398

(n => Array.apply(null, new Array(n)).map(() => --n).reverse())(368)

Ответы>>739400>>742427

10 Май, 16:35 #22 #739400

>>739398
Какой пиздец, господи, какой же пиздец. Вас где то в специальном месте учат писать нечитаемый код?

Ответы>>739406

10 Май, 16:37 #23 #739402

>>739381
Ну и макаки, смотреть страшно.
[code lang=javascript]
A = [0, 1, , 368].map(function(i) {
function () { console.log(i); }
})
[/code]

Ответы>>739407>>739446>>739448

10 Май, 16:37 #24 #739403

>>739357
[code lang="kotlin;scala;ocaml;lisp;haskell;functionalnayaparashaneym"]
https://jsfiddle.net/s38t4x3f/
[/code]

Ответы>>739409

10 Май, 16:38 #25 #739406

>>739400
Тащемта код элементарный, просто ты даун.

Ответы>>739412>>742408>>742427

8 Кб, 1092x65

10 Май, 16:38 #26 #739407

>>739402
Спасибо, всё работает!

26 Кб, 690x496

10 Май, 16:39 #27 #739409

>>739403
Классный сайт

Ответы>>739415

10 Май, 16:41 #28 #739412

>>739406
Эх, сейчас бы reverse() делать, когда он в хуину не всрался. Лекции про сложность алгоритмов в ваше ПТУ ещё не завезли? А то, что твой выкидыш ничего не печатает и поэтому не выполняет поставленную задачу, ты не думал?

Ответы>>739420

10 Май, 16:42 #29 #739414

>>739395
Неплохо, но хорошо бы также инкремент i и печать числа вынести в отдельные функции. Вдруг пригодится пореюзать.
Жаль, присваивание нельзя вынести. В крестах можно было бы.

Ответы>>743002

10 Май, 16:42 #30 #739415

>>739409
Для победителей специальной олимпиады вставлю сюда:
[code lang="kotlin;scala;ocaml;lisp;haskell;functionalnayaparashaneym"]
window.MaSiV_MoNdAd = [
function(){console.log(0);}

function(){console.log(1);}

function(){console.log(2);}

function(){console.log(3);}

function(){console.log(4);}

function(){console.log(5);}

function(){console.log(6);}

function(){console.log(7);}

function(){console.log(8);}

function(){console.log(9);}

function(){console.log(10);}

function(){console.log(11);}

function(){console.log(12);}

function(){console.log(13);}

function(){console.log(14);}

function(){console.log(15);}

function(){console.log(16);}

function(){console.log(17);}

function(){console.log(18);}

function(){console.log(19);}

function(){console.log(20);}

function(){console.log(21);}

function(){console.log(22);}

function(){console.log(23);}

function(){console.log(24);}

function(){console.log(25);}

function(){console.log(26);}

function(){console.log(27);}

function(){console.log(28);}

function(){console.log(29);}

function(){console.log(30);}

function(){console.log(31);}

function(){console.log(32);}

function(){console.log(33);}

function(){console.log(34);}

function(){console.log(35);}

function(){console.log(36);}

function(){console.log(37);}

function(){console.log(38);}

function(){console.log(39);}

function(){console.log(40);}

function(){console.log(41);}

function(){console.log(42);}

function(){console.log(43);}

function(){console.log(44);}

function(){console.log(45);}

function(){console.log(46);}

function(){console.log(47);}

function(){console.log(48);}

function(){console.log(49);}

function(){console.log(50);}

function(){console.log(51);}

function(){console.log(52);}

function(){console.log(53);}

function(){console.log(54);}

function(){console.log(55);}

function(){console.log(56);}

function(){console.log(57);}

function(){console.log(58);}

function(){console.log(59);}

function(){console.log(60);}

function(){console.log(61);}

function(){console.log(62);}

function(){console.log(63);}

function(){console.log(64);}

function(){console.log(65);}

function(){console.log(66);}

function(){console.log(67);}

function(){console.log(68);}

function(){console.log(69);}

function(){console.log(70);}

function(){console.log(71);}

function(){console.log(72);}

function(){console.log(73);}

function(){console.log(74);}

function(){console.log(75);}

function(){console.log(76);}

function(){console.log(77);}

function(){console.log(78);}

function(){console.log(79);}

function(){console.log(80);}

function(){console.log(81);}

function(){console.log(82);}

function(){console.log(83);}

function(){console.log(84);}

function(){console.log(85);}

function(){console.log(86);}

function(){console.log(87);}

function(){console.log(88);}

function(){console.log(89);}

function(){console.log(90);}

function(){console.log(91);}

function(){console.log(92);}

function(){console.log(93);}

function(){console.log(94);}

function(){console.log(95);}

function(){console.log(96);}

function(){console.log(97);}

function(){console.log(98);}

function(){console.log(99);}

function(){console.log(100);}

function(){console.log(101);}

function(){console.log(102);}

function(){console.log(103);}

function(){console.log(104);}

function(){console.log(105);}

function(){console.log(106);}

function(){console.log(107);}

function(){console.log(108);}

function(){console.log(109);}

function(){console.log(110);}

function(){console.log(111);}

function(){console.log(112);}

function(){console.log(113);}

function(){console.log(114);}

function(){console.log(115);}

function(){console.log(116);}

function(){console.log(117);}

function(){console.log(118);}

function(){console.log(119);}

function(){console.log(120);}

function(){console.log(121);}

function(){console.log(122);}

function(){console.log(123);}

function(){console.log(124);}

function(){console.log(125);}

function(){console.log(126);}

function(){console.log(127);}

function(){console.log(128);}

function(){console.log(129);}

function(){console.log(130);}

function(){console.log(131);}

function(){console.log(132);}

function(){console.log(133);}

function(){console.log(134);}

function(){console.log(135);}

function(){console.log(136);}

function(){console.log(137);}

function(){console.log(138);}

function(){console.log(139);}

function(){console.log(140);}

function(){console.log(141);}

function(){console.log(142);}

function(){console.log(143);}

function(){console.log(144);}

function(){console.log(145);}

function(){console.log(146);}

function(){console.log(147);}

function(){console.log(148);}

function(){console.log(149);}

function(){console.log(150);}

function(){console.log(151);}

function(){console.log(152);}

function(){console.log(153);}

function(){console.log(154);}

function(){console.log(155);}

function(){console.log(156);}

function(){console.log(157);}

function(){console.log(158);}

function(){console.log(159);}

function(){console.log(160);}

function(){console.log(161);}

function(){console.log(162);}

function(){console.log(163);}

function(){console.log(164);}

function(){console.log(165);}

function(){console.log(166);}

function(){console.log(167);}

function(){console.log(168);}

function(){console.log(169);}

function(){console.log(170);}

function(){console.log(171);}

function(){console.log(172);}

function(){console.log(173);}

function(){console.log(174);}

function(){console.log(175);}

function(){console.log(176);}

function(){console.log(177);}

function(){console.log(178);}

function(){console.log(179);}

function(){console.log(180);}

function(){console.log(181);}

function(){console.log(182);}

function(){console.log(183);}

function(){console.log(184);}

function(){console.log(185);}

function(){console.log(186);}

function(){console.log(187);}

function(){console.log(188);}

function(){console.log(189);}

function(){console.log(190);}

function(){console.log(191);}

function(){console.log(192);}

function(){console.log(193);}

function(){console.log(194);}

function(){console.log(195);}

function(){console.log(196);}

function(){console.log(197);}

function(){console.log(198);}

function(){console.log(199);}

function(){console.log(200);}

function(){console.log(201);}

function(){console.log(202);}

function(){console.log(203);}

function(){console.log(204);}

function(){console.log(205);}

function(){console.log(206);}

function(){console.log(207);}

function(){console.log(208);}

function(){console.log(209);}

function(){console.log(210);}

function(){console.log(211);}

function(){console.log(212);}

function(){console.log(213);}

function(){console.log(214);}

function(){console.log(215);}

function(){console.log(216);}

function(){console.log(217);}

function(){console.log(218);}

function(){console.log(219);}

function(){console.log(220);}

function(){console.log(221);}

function(){console.log(222);}

function(){console.log(223);}

function(){console.log(224);}

function(){console.log(225);}

function(){console.log(226);}

function(){console.log(227);}

function(){console.log(228);}

function(){console.log(229);}

function(){console.log(230);}

function(){console.log(231);}

function(){console.log(232);}

function(){console.log(233);}

function(){console.log(234);}

function(){console.log(235);}

function(){console.log(236);}

function(){console.log(237);}

function(){console.log(238);}

function(){console.log(239);}

function(){console.log(240);}

function(){console.log(241);}

function(){console.log(242);}

function(){console.log(243);}

function(){console.log(244);}

function(){console.log(245);}

function(){console.log(246);}

function(){console.log(247);}

function(){console.log(248);}

function(){console.log(249);}

function(){console.log(250);}

function(){console.log(251);}

function(){console.log(252);}

function(){console.log(253);}

function(){console.log(254);}

function(){console.log(255);}

function(){console.log(256);}

function(){console.log(257);}

function(){console.log(258);}

function(){console.log(259);}

function(){console.log(260);}

function(){console.log(261);}

function(){console.log(262);}

function(){console.log(263);}

function(){console.log(264);}

function(){console.log(265);}

function(){console.log(266);}

function(){console.log(267);}

function(){console.log(268);}

function(){console.log(269);}

function(){console.log(270);}

function(){console.log(271);}

function(){console.log(272);}

function(){console.log(273);}

function(){console.log(274);}

function(){console.log(275);}

function(){console.log(276);}

function(){console.log(277);}

function(){console.log(278);}

function(){console.log(279);}

function(){console.log(280);}

function(){console.log(281);}

function(){console.log(282);}

function(){console.log(283);}

function(){console.log(284);}

function(){console.log(285);}

function(){console.log(286);}

function(){console.log(287);}

function(){console.log(288);}

function(){console.log(289);}

function(){console.log(290);}

function(){console.log(291);}

function(){console.log(292);}

function(){console.log(293);}

function(){console.log(294);}

function(){console.log(295);}

function(){console.log(296);}

function(){console.log(297);}

function(){console.log(298);}

function(){console.log(299);}

function(){console.log(300);}

function(){console.log(301);}

function(){console.log(302);}

function(){console.log(303);}

function(){console.log(304);}

function(){console.log(305);}

function(){console.log(306);}

function(){console.log(307);}

function(){console.log(308);}

function(){console.log(309);}

function(){console.log(310);}

function(){console.log(311);}

function(){console.log(312);}

function(){console.log(313);}

function(){console.log(314);}

function(){console.log(315);}

function(){console.log(316);}

function(){console.log(317);}

function(){console.log(318);}

function(){console.log(319);}

function(){console.log(320);}

function(){console.log(321);}

function(){console.log(322);}

function(){console.log(323);}

function(){console.log(324);}

function(){console.log(325);}

function(){console.log(326);}

function(){console.log(327);}

function(){console.log(328);}

function(){console.log(329);}

function(){console.log(330);}

function(){console.log(331);}

function(){console.log(332);}

function(){console.log(333);}

function(){console.log(334);}

function(){console.log(335);}

function(){console.log(336);}

function(){console.log(337);}

function(){console.log(338);}

function(){console.log(339);}

function(){console.log(340);}

function(){console.log(341);}

function(){console.log(342);}

function(){console.log(343);}

function(){console.log(344);}

function(){console.log(345);}

function(){console.log(346);}

function(){console.log(347);}

function(){console.log(348);}

function(){console.log(349);}

function(){console.log(350);}

function(){console.log(351);}

function(){console.log(352);}

function(){console.log(353);}

function(){console.log(354);}

function(){console.log(355);}

function(){console.log(356);}

function(){console.log(357);}

function(){console.log(358);}

function(){console.log(359);}

function(){console.log(360);}

function(){console.log(361);}

function(){console.log(362);}

function(){console.log(363);}

function(){console.log(364);}

function(){console.log(365);}

function(){console.log(366);}

function(){console.log(367);}
];
[/code]

Ответы>>739416>>739426

10 Май, 16:43 #31 #739416

>>739415
Сразу бы так.

11 Кб, 514x112

10 Май, 16:45 #32 #739420

>>739412
>ничего не печатает
Писю пососи, даунито.

Ответы>>739454>>742432

10 Май, 16:48 #33 #739424

def make(i):
return (lambda: print(i))

ls = [make(i) for i in range(368)]

Ответы>>739425

10 Май, 16:49 #34 #739425

>>739424
suka blyat

Ответы>>745948

10 Май, 16:50 #35 #739426

>>739415
Такое и было на интервью. Первоначально было 4 функции, так красавцы в ручную писали.

10 Май, 16:52 #36 #739429

Лиспер в тренде, все под шконку!
for (var i = 0; i < 368; i++) {
eval("A[" + i + "] = function () { console.log(" + i + "); }");
}

Ответы>>739431>>739436

10 Май, 16:53 #37 #739431

>>739429
Проиграл с этого лиспера

Ответы>>739439

10 Май, 16:54 #38 #739432

>>739345 (OP)
>for (var i = 0, a = [], f = (n) => console.log(n); i < 368; i++) a = f.bind(a, i);

10 Май, 16:54 #39 #739434

>>739345 (OP)
>for (var i = 0, a = [], f = (n) => console.log(n); i < 368; i++) a.push(f.bind(a, i));

10 Май, 16:55 #40 #739436

>>739429
Мало скобочек))))

Ответы>>739440

10 Май, 16:55 #41 #739439

>>739431
Хуле у вас в жс евал не может просто безымянную функцию вычислить и вернуть?

Ответы>>739444

10 Май, 16:56 #42 #739440

>>739436
Получилось даже больше, чем если бы писалось на лиспе.

10 Май, 16:57 #43 #739444

>>739439
>eval('(function(){console.log("ты хуй")}())')
Это ты ничего не можешь.

Ответы>>739450

10 Май, 16:59 #44 #739446

>>739402
Слишком футуристично

10 Май, 17:01 #45 #739448

>>739402
ебанат
>[0, 1, , 368].length // 4
Иди умойся.

Ответы>>739449

10 Май, 17:02 #46 #739449

>>739448
Ага, обосрался, знаю. Я ж на этих ваших жсах не писал никогда.

10 Май, 17:03 #47 #739450

>>739444
А, всё-таки скобок маловато было.

10 Май, 17:08 #48 #739454

>>739420
Даун, ты его не из консоли вызывай.

10 Май, 17:16 #49 #739465

>Array(368).fill(i => console.log(i)).map((f, i) => f.bind(null, i))

10 Май, 17:21 #50 #739471

new Proxy({}, {get: (_, i) => () => console.log(i)})

O(1) память.

Ответы>>739479

10 Май, 17:27 #51 #739479

>>739471
У тебя не массив.
Надо таргет поставить []

Ответы>>739483

2 Кб, 410x36

10 Май, 17:30 #52 #739483

>>739479
Технически не массив, но работает так же.

Ответы>>739486>>739487>>739491

10 Май, 17:34 #53 #739486

>>739483
Пиздабол. Иди учи язык.

sage 10 Май, 17:34 #54 #739487

>>739483
Используйте мондадный актор и скобки.

13 Кб, 584x274

10 Май, 17:36 #55 #739491

>>739483
Прежде чем выебываться, изучи основы хотя бы.

Ответы>>739494>>739497

10 Май, 17:37 #56 #739494

>>739491
Достаточно проверки на хэзОвнПропиртю, актуаллю.

Ответы>>739496

10 Май, 17:40 #57 #739496

>>739494
Ты проебал ТЗ по всем фронтам.
Это не массив. Это не ведет себя как массив.
В нем не 368 элементов.

Ответы>>739548

10 Май, 17:41 #58 #739497

>>739491
Ну что за дауненок опять. Такое ощущение, что в треде собрались одни второсорты и посредственности. А я - звезда, которая освещает эту дыру.
В задании четко указан функционал - по A[n]() выводить n. Мое решение - лучшее и идеальное.

Ответы>>739500>>739504>>739506

10 Май, 17:43 #59 #739500

>>739497
>сказано сделать массив
>не сделал его
>говорит что выполнил ТЗ

Ответы>>739508

10 Май, 17:48 #60 #739504

>>739497
В задаче четко указано сделать массив
Ты сделал прокси объект, который даже не ведет себя как массив.
Чтобы добиться нужного функционала, тебе надо таргет сменить с {} на []
и еще вводить проверки чтобы проксировать свойства.

Ответы>>739508

10 Май, 17:50 #61 #739506

>>739497
С тем же успехом, можно было бы запилить функцию, печатающую аргумент, и этим ограничиться, бить себя в грудь и говорить - это решает поставленную задачу и печатается индекс.

Вся суть горе-исполнителей.

10 Май, 17:52 #62 #739508

>>739500
>>739504
Так я же маэстро, code ninja, а не макака. Я проявляю инициативу и расту по карьерной лестнице, пока вы катаетесь еблом по клаве, дрочируя на ТЗ.

10 Май, 17:52 #63 #739509

>>739345 (OP)
https://play.golang.org/p/qwDvzeb4kz

Ответы>>739517

10 Май, 17:58 #64 #739513

>больше 60 постов
>все еще нет C++
http://ideone.com/jEqwqo

Ответы>>739515

10 Май, 17:59 #65 #739515

>>739513
Кек, плюсоебам даже нормальных замыканий не завезли

Ответы>>739517>>739518

10 Май, 18:00 #66 #739517

>>739515
>>739509
Вон, даже у го-даунов запилили.

10 Май, 18:02 #67 #739518

>>739515
>пишет на API для браузеров, написанных на плюсах
>кукарекает что-то в сторону плюсов
- Раздался пронзительный голос со стороны параши.

Ответы>>739521>>739523>>739527

10 Май, 18:03 #68 #739521

>>739518
Пусть кукарекает, что с него взять?

10 Май, 18:04 #69 #739523

>>739518
Пфф... вот как напишете нормально, тогда и будете выебываться, а пока не кукарекай, вилку в руки и пиздуй оптимизировать ту парашу, что вы наговнякали.

10 Май, 18:07 #70 #739527

>>739518
Ничего против плюсов не имею, но почему ты просто не привел пример нормальных замыканий. Можно даже машинный код привести в пример. Все "написано на нем", но где там нормальные замыкания?

Ответы>>739531

10 Май, 18:12 #71 #739531

>>739527
>но где там нормальные <фичанэйм>
Это плюсы, в них не бывает нормальных <фичанэйм>, есть только "как смогли, так и накостылили. а хуле вы хотели, это ж плюсы"

10 Май, 18:15 #72 #739533

>Array(368).fill().map((v, i) => console.log.bind(console, i))

Ответы>>739536

10 Май, 18:18 #73 #739536

>>739533
Да вон, гляди как надо >>739357

Ответы>>739538

10 Май, 18:19 #74 #739538

>>739536
У меня изящнее

Ответы>>739539>>739551

10 Май, 18:20 #75 #739539

>>739538
>Array(368).fill().map((v, i) => console.log.bind(console, i))
>map print [0..367]
Ага, изящность аж зашкаливает

Ответы>>739561>>739569

10 Май, 18:24 #76 #739548

>>739496
Я не он, и не спорю — ты прав.

10 Май, 18:26 #77 #739551

>>739538
>юзает сотню библиотечных функций для одной простой операции
>У меня изящнее
В голос с долбаеба

Ответы>>739559

10 Май, 18:31 #78 #739559

>>739551
Что несешь, поехавший.

10 Май, 18:32 #79 #739561

>>739539
Да, изящнее.
>>739357

Ответы>>739569

10 Май, 18:33 #80 #739562

var arr = [];
for (var i = 0; i < 368; i++) {
arr = (function(i) {
return function() {
console.log (i);
};
})(i);
}

По простецкому. Ебал в рот "изящность".

Ответы>>739567>>739568>>739572>>739580>>739589>>739593

10 Май, 18:35 #81 #739567

>>739562
Пиздец, нахуя создал 368 замыканий?

sage 10 Май, 18:36 #82 #739568

>>739562
>IIFE
>no arrow functions
>arr
>368 closures with unnecessary complexity
>По_простецкому
>2016

10 Май, 18:37 #83 #739569

>>739561
Приглядись к коду. То, что написал ты, соответствует >>739539
>>map print [0..367]
этой строчке

Ответы>>739577

sage 10 Май, 18:39 #84 #739572

>>739562
window.peremenaya = new Function (alert[('ti','daun'].join(' ebaniy '));

Ответы>>739573

sage 10 Май, 18:40 #85 #739573

>>739572
У тебя мандада сломалась.

10 Май, 18:42 #86 #739576

Соснули все!
A=( `seq 0 367 | sed s_^_echo,_` )
http://ideone.com/HlOXn2

10 Май, 18:45 #87 #739577

>>739569
Нет.
Не соответствует.
Тебе еще надо будет подтянуть IO, как минимум

Ответы>>739581

10 Май, 18:47 #88 #739580

>>739562

Почти правильно

arr.push(

(function(i) {
return function() {
console.log (i);
};
})(i);

);

Ответы>>739586>>739589

10 Май, 18:48 #89 #739581

>>739577
Куда подтянуть? О чем ты?

Ответы>>739584

10 Май, 18:50 #90 #739584

>>739581
Если ты отдашь компилятору map print [0..367]
Он выбросит ошибку.

Значит это нерабочая программа.

Ответы>>739588

10 Май, 18:51 #91 #739586

>>739580
И ты нахуя создал 368 замыканий ненужныйх. Ты тоже дебил?

10 Май, 18:52 #92 #739588

>>739584
>Prelude> :t map print [0..367]
>map print [0..367] :: [IO ()]
Всё работает. О чем ты?

10 Май, 18:53 #93 #739589

>>739562
>>739580
>for (var a = [], i = 0; i < 368; i++) a.push (console.log.bind (console, i))

10 Май, 18:56 #94 #739593

>>739562
У тебя небольшая ошибка.
var arr = [];
for (var i = 0; i < 368; i++) {
arr = (function(i) {
return function() {
console.log (i);
};
})(i);
}

Ответы>>739596

10 Май, 18:59 #95 #739596

>>739593
Учись
>for (var a = []; a.length < 368; a.push (console.log.bind(console, a.length)));

Ответы>>739598>>739825

10 Май, 19:00 #96 #739598

>>739596
Дай свою руку, дружище! Я тебе отрублю её нахуй

Ответы>>739599

10 Май, 19:01 #97 #739599

>>739598
Всё работает.

10 Май, 19:07 #98 #739605

Кто-то знает, что это за хуйня? Если припишем
var r=[];
for (i=0;i<10;i++){
r=i;
}
То у нас же не будет
r[5] == 10

Ответы>>739607>>739611>>739620

10 Май, 19:08 #99 #739607

>>739605
var r=[];
for (i=0;i<10;i++){
r=i;
}

10 Май, 19:13 #100 #739611

>>739605
Оно и не должно.
Ты же устанавливаешь r[5] = 5
С чего бы ему быть равно 10?

Ответы>>739617

10 Май, 19:15 #101 #739617

>>739611
А почему функция бы возвратила 10?

Ответы>>739621

10 Май, 19:17 #102 #739620

>>739605
Потому что тут
>r[_i_]=i;
ты присваиваешь _значение_, а в случае с функцией захватываешь саму переменную

10 Май, 19:19 #103 #739621

>>739617
какая?

var r=[];
for (n=0;n<10;n++){
r[n]=(function(n){ return n})(n);
}

r[5] по-прежнему равно 5

77 Кб, 1012x722

sage 10 Май, 19:20 #104 #739622

Как платить удобнее?

Ответы>>739623>>739625>>739635>>742944

10 Май, 19:20 #105 #739623

>>739622
Не кошерно.
Асм нужен.

10 Май, 19:21 #106 #739625

>>739622
Хуйцами

10 Май, 19:59 #107 #739635

>>739622
А что за редактор справа, и почему он такой няшный?

Ответы>>739726

10 Май, 20:07 #108 #739645

var arr = [];

for (var i = 0; i < 10; i++) {
arr = (function(){console.log(i)});
}

arr[5]() // =10

Почему?

Ответы>>739726>>739731>>739732

10 Май, 20:58 #109 #739726

>>739635
>Caret
>>739645
если в крестовых терминах: потому что i в замыкание передается по ссылке.

Ответы>>739731>>739734

10 Май, 21:01 #110 #739731

>>739726
>что i в замыкание передается по ссылке.
Нет, у него как раз нет замыкания, и поэтому он проебывается.

>>739645
>Почему?
потому что на момент вызова у тебя i = 10.
Замени var i на let i
чтобы ограничить область видимости переменной.

Ответы>>739750

10 Май, 21:02 #111 #739732

>>739645
var arr = [];

for (var i = 0; i < 10; i++) {
arr[\i] = (function(){console.log(i)});
}
console.log(i) // 10
сам не понимаешь что ли

Ответы>>739786

10 Май, 21:04 #112 #739734

>>739726
Примитивы никогда не передаются по ссылке.

Ответы>>739750

10 Май, 21:10 #113 #739740

Давайте специальную олимпиадку устроим, а то давно не было.

Ответы>>739741

10 Май, 21:10 #114 #739741

>>739740
С нормальной задачкой, а не как у ОП-хуя

10 Май, 21:15 #115 #739750

>>739731
>Нет, у него как раз нет замыкания
https://developer.mozilla.org/en/docs/Web/JavaScript/Closures
>>739734
В крестах? http://ideone.com/4s762q

10 Май, 21:30 #116 #739772

class A {
public:
\tstd::func<int()> operator[] (int i) { return [](){return i} }
};

auto a = make_unique<A>
a[5]() // <- 5
a[6]() // <- 6

Примерно так, там может еше по типам отладить надо будет.

Ответы>>742114

10 Май, 21:36 #117 #739786

>>739732
А не должно ли оно в функцию записать значение i, а не вечную ссылку на него? Как такое сделать если не так?

Ответы>>739818>>739820>>739825

10 Май, 21:55 #118 #739818

>>739786
>А не должно ли оно в функцию записать значение
Нет не должно.

>Как такое сделать если не так
Создав замыкание в IIFE
>(function(i){return function(){console.log(i)}})(i)

Но это плохая практика. Ты насоздаешь замыканий на каждую итерацию цикла.
А теперь представь, что у тебя несколько тысяч итераций. Следовательно несколько тысяч замыканий.

Потом не говори, что язык хуевый,а не руки у тебя.

10 Май, 21:55 #119 #739820

>>739786
Правильно делать через let
for (let i = 0)

10 Май, 21:57 #120 #739824

на эликсири:
arr = for i <- 0..367, do: fn -> IO.puts(i) end

Enum.at(arr, 0).() // 0
Enum,at(arr, 5).() // 5

Ответы>>739829>>742220

10 Май, 21:58 #121 #739825

>>739786
Вот >>739596
и не нужно никаких i

10 Май, 22:03 #122 #739829

>>739824
arr = for i <- 0..367, into: %{}, do: {i, fn -> IO.puts(i) end}

arr[228].() // 228

Ответы>>739856>>742220

sage 10 Май, 22:30 #123 #739856

>>739829
{:error, 'ti pituh))'}

Ответы>>740135

10 Май, 23:45 #124 #739937

>>739345 (OP)
Я написал и кончил
http://ideone.com/OVvf8I

Ответы>>739976

11 Май, 00:23 #125 #739976

>>739937
Чего только не сделают, лишь бы на лиспе не писать.
http://ideone.com/laBjME

Ответы>>739999>>740426

11 Май, 00:44 #126 #739997

>>739345 (OP)
var A = [];
for (var i = 0; i < 368; i++) (function(index) {
A[index] = function() { console.log(index); };
})(i);
Учу ваниль 4 месяца-кун.

11 Май, 00:45 #127 #739999

>>739976
Пиздец.
Это ваш хваленый лисп?
То что на js делается в одну строчку и в четыре операции, на лиспе развернуто в такую простыню?

Ответы>>740218

11 Май, 02:17 #128 #740029

[code lang="sml"]
tabulate (368, (fn n => fn () => print (Int.toString n)))
[/code]

11 Май, 06:21 #129 #740094

>>739375
Лол.
[code lang="scala"]
(0 until 368).map(i => () => println(i))
[/code]

11 Май, 09:13 #130 #740135

>>739856
спасибо)

11 Май, 09:49 #131 #740151

>>739345 (OP)
> (Автор этого поста был предупрежден.)
https://www.youtube.com/watch?v=qCuaPUVFbzg

11 Май, 12:03 #132 #740218

>>739999
То просто калька с крестового кода.
>То что на js делается в одну строчку и в четыре операции
Нет, полный аналог того кода ты в четыре операции не сделаешь.

Ответы>>740426

11 Май, 15:18 #133 #740358

Java
https://ideone.com/vRna2Y

Ответы>>740373>>740376

11 Май, 15:40 #134 #740373

>>740358
А где final static abstract virtual void KoKoKoKudah <Kukarek>?
Мы Вам перезвоним.

Ответы>>740375>>740394

11 Май, 15:41 #135 #740375

>>740373
Сука, буквально на пару секунд опередил

11 Май, 15:43 #136 #740376

>>740358
>@FunctionalInterface private interface PrintFunction { public void execute(); }
А это что за костыль?

Ответы>>740381

11 Май, 15:46 #137 #740381

>>740376
Это в Java такую лямбду не завезли - определил руками https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html

Если я слепой мудак - ткните носом, пожалуйста.

Ответы>>740384>>741617

11 Май, 15:49 #138 #740384

>>740381
>https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html
Ой бляя.. Так всё плохо? Я-то думал, современная ява уже почти нормальным языком стала, а там всё через жопу

Ответы>>740397

11 Май, 15:56 #139 #740394

>>740373
[code lang="java"]
public final class Vskukarek implements Butthurt {
@override
void kokoko() {
System.out.println("
[/code]
>А где final static abstract virtual void KoKoKoKudah <Kukarek>?
>Мы Вам перезвоним.
[code lang="java"]
");
}
}
[/code]

Ответы>>740422

11 Май, 15:58 #140 #740397

>>740384
>Так всё плохо?
Не все, но можно и получше, да.

Ответы>>740399

11 Май, 16:00 #141 #740399

>>740397
Не, ну ты понимаешь, что смолтолк в 80м году был более выразительным да, уже в 80м там были первоклассные блоки кода ака замыкания, чем сегодняшняя ява. Нахуй так жить?

Ответы>>740400

11 Май, 16:01 #142 #740400

>>740399
За деньги можно писать хоть на Васике.

Ответы>>740405

11 Май, 16:04 #143 #740405

>>740400
За деньги можно и не программировать.

Ответы>>740412

11 Май, 16:10 #144 #740412

>>740405
На том и порешим.

11 Май, 16:24 #145 #740422

>>740394
Такой ебнутый язык.
Что java, что кресты.
Сколько раз не хотел выучить, этот ебануиый синтаксис отталкивает. Люто просто.
Зачем так жить.

Ответы>>740425

11 Май, 16:25 #146 #740425

>>740422
Разрешаю тебе писать на любом другом.

Ответы>>740429

11 Май, 16:26 #147 #740426

>>740218
Я лисп читать не умею. Напиши по шаговый алгоритм, что тут происходит >>739976
Если не сложно.

11 Май, 16:27 #148 #740429

>>740425
Да суть не в этом.
Это само собой.

Но ведь сам факт.
Вроде си-подобный, но все равно какая-то эзотерика и перегруженность.

Ответы>>741634

12 Май, 18:57 #149 #741617

>>740381
Runnable

Ответы>>741642

12 Май, 19:11 #150 #741634

>>740429
>Вроде си-подобный, но все равно какая-то эзотерика и перегруженность.
А ты си код видел? Не хэловорлд, а полноценный проект вымазанный макросами, еблёй с указателями, битовыми полями и прочей няшностью?

Ответы>>742947

12 Май, 19:17 #151 #741642

>>741617
Действительно. Спасибо, Антош.
Java https://ideone.com/OlUWsB

12 Май, 22:22 #152 #741803

C++ https://ideone.com/IspL0t
В 6ой строке в ретурне временный объект не создаётся?

Ответы>>741994>>742114

13 Май, 07:09 #153 #741994

>>741803
Нет, ты возвращаешь ссылку на один и тот же класс. Выше уже было правильное решение на плюсах через std::function.

Мы вам перезвоним.

Ответы>>742114>>742965

13 Май, 11:41 #154 #742114

>>741803
>>741994
Полгода уже ничего на плюсах не писал, так что завтыкал с точками-запятыми, забыл закапчурить переменную в лямбде и все такое. Вот исправленный и компилируемый код: http://ideone.com/j9K89D

>>739772-кун

Ответы>>742128

13 Май, 12:03 #155 #742128

>>742114
Я тебе сейчас секрет открою, но ничего перегружать не нужно было – достаточно пихать в вектор лямбду захватившую значение.

Ответы>>743145

13 Май, 12:45 #156 #742170

I can into JS.

ES6 version:
'use strict';

var arr = [];

for (let i = 368; i--;) {
arr = () => {
return ((val) => {
console.log(val);
})(i);
};
}

arr[10]();

No ES6 version:
'use strict';

var arr = [];

for (let i = 368; i--;) {
arr = function() {
return (function(val) {
console.log(val);
}.bind(this))(i);
};
}

arr[8]();

Проверяйте.

13 Май, 13:51 #157 #742220

>>739824
>>739829
Чуханы.
Enum.map(0..368, &(IO.puts &1))

Ответы>>743180>>743184

13 Май, 15:03 #158 #742266

https://ideone.com/gaPfoY
Я разочаровался в Пиздоне.

Ответы>>742396

13 Май, 16:14 #159 #742341

https://play.rust-lang.org/?gist=e38f1beb3a90b39b5d66b3261320410c

13 Май, 16:57 #160 #742396

>>742266
Ты даун прост
https://ideone.com/2PHJTl

Ответы>>742758

13 Май, 17:22 #161 #742408

>>739406
Анус твой элементарный, макака. Если код делает такую простую вещь и при этом в первую же секунду, как кто-то на него взглянул, ему не ясно, что он делает, то этот не код, а кусок кала.

Ответы>>742427

40 Кб, 450x410

13 Май, 17:27 #162 #742411

Ебать проблевался с треда. Неудивительно, что у местных чмох хроническое МЫ ПЕРЕЗВОНИМ. Если бы увидел у кого-то из своих подобную парашу, тут же бы с вертушки ему пояснил за всю хуйнюфигурально.

13 Май, 17:38 #163 #742427

>>739406
>>742408
хуйнюнаписал этот >>739398
Он просто создал массив из 368 элементов значением в каждом которго является индекс этого массива.
Где функции маня?

А чтобы сделать то. что сделал ты вообще не надо было так заморачиваться.

13 Май, 17:40 #164 #742432

>>739420
>Писю пососи, даунито.
Ебанутый.
Ты выводишь значение arr[10]
А должен делать arr[10]()

В этом вся суть. Пошел вон из профессии.

13 Май, 21:57 #165 #742758

>>742396
Я так понял (х) нужно для копирования? Ткни место в документации.

Ответы>>742762

13 Май, 22:00 #166 #742762

>>742758
Почитай про замыкания, они работают практически одинаково во всех языках.

13 Май, 22:18 #167 #742782

>>739345 (OP)
>funcs = [lambda x=x: x for x in range(369)]

wow such programmer

14 Май, 02:26 #168 #742944

>>739622
нах те асм, долбоеб
это же и на сишечке можно сделоть

14 Май, 02:30 #169 #742947

>>741634
>вымазанный макросами, еблёй с указателями, битовыми полями
структурки наложеные на голую память забыл добавить

Ответы>>742991

14 Май, 03:40 #170 #742965

>>741994
Так это даже лучше чем плодить новые объекты и каждый инициализировать. Экономнее выходит.

Ответы>>742989

14 Май, 07:47 #171 #742989

>>742965
Условие задачи прочитай, экономист. Создать массив функций, а не вызвать n раз функцию.

Ответы>>743417

14 Май, 07:49 #172 #742991

>>742947
Сами структурки – это ничего.
Веселье там начинается с объеденений и редактирования выравнивания в этих самых структурах.

14 Май, 08:58 #173 #743002

>>739414
Начал было писать всё как положено, но уже на комментах сдулся
https://ideone.com/vYY9hH

Ответы>>743056

14 Май, 11:52 #174 #743056

>>743002
Отлично!

14 Май, 13:42 #175 #743145

>>742128
Слухай, а таки да. Спасибо за наводочку, чет как-то не подумал сразу даже.

14 Май, 14:01 #176 #743161

>>739357
>Массив
>Список

Ответы>>743194

14 Май, 14:16 #177 #743180

>>742220
>>742220
>Enum.map(0..368, &(IO.puts &1))
лист из :ok у тебя создался, не из функций

14 Май, 14:20 #178 #743184

>>742220
arr = Enum.reduce(367..0, [], fn i, acc -> [fn -> IO.puts(i) end|acc] end)

пофиксил за тебя

Ответы>>743714

14 Май, 14:48 #179 #743194

>>743161
> В джяваскрипте вообще Object

Ответы>>743423

14 Май, 15:40 #180 #743228

>>739345 (OP)
Groovy

​((0..367).collect{k->{->k}}​)[123]()​

http://ideone.com/vz8X29

Ответы>>743234

14 Май, 15:44 #181 #743234

>>743228
Принтлн должен быть внутри, ты обосрался.

Ответы>>743241

14 Май, 15:48 #182 #743241

>>743234
Fix: http://ideone.com/vz8X29

14 Май, 17:18 #183 #743417

>>742989
Оператор [] переопределён значит это массив.

14 Май, 17:21 #184 #743423

>>743194
Открой для себя instanceof

Ответы>>743838>>743839

sage 14 Май, 21:55 #185 #743714

>>743184
acc тут нахуя?

Ответы>>744049

15 Май, 01:11 #186 #743838

>>743423
> "string" instanceof String; // false

Ответы>>744817

15 Май, 01:14 #187 #743839

>>743423
> typeof null // object
> null instanceof Object // false

Ответы>>744817

15 Май, 01:34 #188 #743859

>>739364
Содомит!

15 Май, 02:02 #189 #743869

[ fun() -> X end || X <- lists:seq(0, 368) ]

http://ideone.com/NZyDKO

15 Май, 12:23 #190 #744049

>>743714
а как ещё итоговый список составить?

15 Май, 17:49 #191 #744314

[CODE]
object array {
def apply(i: Int) = () => println(i);
}

array(12)()
[/CODE]

Ответы>>744771>>744819

15 Май, 19:26 #192 #744402

var a = new Func<int>[368];
for (int i = 0; i < a.Length; ++i) {
var n = i;
a = () => n;
}

Ответы>>745400>>745402

16 Май, 02:21 #193 #744771

>>744314
Это не массив

16 Май, 07:09 #194 #744816

Годный тред, на самом деле.
На примере такой мелкой простейшей задачки, можно наблюдать насколько часто и насколько сильно исполнители неправильно понимают или не выполняют ТЗ. По глупости, или же с намеренной инициативой, в итоге делают совершенно не то, что нужно.

Отличный такой срез, отражающий всю суть в индустрии.

16 Май, 07:11 #195 #744817

>>743838
>>743839
Поехавший? Ты зачем примитивы чекаешь на инстанс?

Ответы>>744912

16 Май, 07:17 #196 #744819

>>744314
Если это ввглядит, как массив, и оьрвщение как к массиву...

16 Май, 07:30 #197 #744823

http://jsbin.com/babasuhuwu/edit?js,console

Ответы>>745335

16 Май, 12:19 #198 #744912

>>744817
> джяваскрипт
> примитивы
Мартышка продолжает обсираться.

Ответы>>745416

16 Май, 21:29 #199 #745335

>>744823
>console.log.bind(console, a.length)
Что-то мне подсказывает, что реально такое не будет работать.

Ответы>>745415

16 Май, 22:29 #200 #745358

Lua
http://ideone.com/QX3sef

16 Май, 23:23 #201 #745400

>>744402
Два чая

Ответы>>745402

16 Май, 23:25 #202 #745402

>>744402
Ты конечно только с индексами массива в цикле проехался.
>>745400

16 Май, 23:46 #203 #745415

>>745335
>реально такое не будет работать.
>уже работает
Ты здоров?

Ответы>>745427

16 Май, 23:48 #204 #745416

>>744912
Иди-ка выучи язык.

17 Май, 00:10 #205 #745427

>>745415
Видимо, нет. Мне почему-то казалось, что console.log нельзя биндить.

Ответы>>745432

17 Май, 00:13 #206 #745432

>>745427
console.log это функция, которая не будет работать если у нее this не console
В другое место ты не забиндишь ее.

Ответы>>745456

17 Май, 00:51 #207 #745456

>>745432
а в ноде можно))

Ответы>>745466

17 Май, 01:13 #208 #745466

>>745456
Потому что в ноде console это поток вывода stdout, а не консоль.

17 Май, 04:29 #209 #745522

>>739345 (OP)
НА-ХУ-Я?

Ответы>>745789

17 Май, 14:11 #210 #745789

>>745522
Такие ситуации встречаются постоянно, пользуя node async.js, например. Параллелизировал как-то агрегацию в mongodb, разбивая один запрос на кучу более мелких, например, аггрегацию за год разбивал на 365 агрегаций по дню, вот точно такая задача нужна была.

17 Май, 16:34 #211 #745948

>>739425
Нуфаги не могут в петон.

Тред утонул или удален.
Это копия, сохраненная 2 июня 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion