Двач.hk не отвечает.
Вы видите копию треда, сохраненную 2 июня 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
24 Кб, 413x310
Create array A of 368 functions so that
A[0]() prints '0',
A[1]() prints '1', etc.

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

А[0]() -> "0"
А[10]() -> "10"
#2 #739348
Оцените, насколько это сложная задача?
#3 #739350
На ДжаваСкрипте
#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]
#5 #739362
>>739357
Пукнул твоей мандаде в комбинатор, а потом наредуцировал сверху. :)
>>739364
#6 #739363
var arr = [];
for(var i = 0; i < 368; i++) {
arr = function() {
console.log(i);
}
}


Сделал. Как платить удобнее?
#7 #739364
>>739362
Зря старался, мне это лень вычислять.
>>743859
#8 #739365
>>739363

>arr =


Проебалося.
>>739367
#9 #739366
>>739363
Пиздец ты ЛС.
#10 #739367
>>739365
Сука.
arr[ i ]
#11 #739368
>>739363
Я в жс не оче, но, кажется, ты обосрался.
>>739371
#12 #739371
>>739368
>>739363
Я про то, что переменная, которую захватывают замыкания, изменяется.
#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
#14 #739375
>>739363
Вот так наши вероятные кандидаты и проёбывают свою работу.

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

368
>>739380>>740094
#15 #739380
>>739375
Надо же, как я угадал. А ведь на жс в жизни не писал.
#17 #739383
#18 #739384
>>739374
Say what?
#19 #739386
84 Кб, 470x518
#20 #739395
>>739381
У вас СЛИШКОМ МАЛО ФУНКЦИЙ
>>739414
#21 #739398
(n => Array.apply(null, new Array(n)).map(() => --n).reverse())(368)
>>739400>>742427
#22 #739400
>>739398
Какой пиздец, господи, какой же пиздец. Вас где то в специальном месте учат писать нечитаемый код?
>>739406
#23 #739402
>>739381
Ну и макаки, смотреть страшно.
[code lang=javascript]
A = [0, 1, , 368].map(function(i) {
function () { console.log(i); }
})
[/code]
#24 #739403
>>739357
[code lang="kotlin;scala;ocaml;lisp;haskell;functionalnayaparashaneym"]
https://jsfiddle.net/s38t4x3f/
[/code]
>>739409
#25 #739406
>>739400
Тащемта код элементарный, просто ты даун.
8 Кб, 1092x65
#26 #739407
>>739402
Спасибо, всё работает!
26 Кб, 690x496
#27 #739409
>>739403
Классный сайт
>>739415
#28 #739412
>>739406
Эх, сейчас бы reverse() делать, когда он в хуину не всрался. Лекции про сложность алгоритмов в ваше ПТУ ещё не завезли? А то, что твой выкидыш ничего не печатает и поэтому не выполняет поставленную задачу, ты не думал?
>>739420
#29 #739414
>>739395
Неплохо, но хорошо бы также инкремент i и печать числа вынести в отдельные функции. Вдруг пригодится пореюзать.
Жаль, присваивание нельзя вынести. В крестах можно было бы.
>>743002
#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]
#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
#31 #739416
>>739415
Сразу бы так.
11 Кб, 514x112
#32 #739420
>>739412

>ничего не печатает


Писю пососи, даунито.
>>739454>>742432
#33 #739424
def make(i):
return (lambda: print(i))

ls = [make(i) for i in range(368)]
>>739425
#34 #739425
>>739424
suka blyat
>>745948
#35 #739426
>>739415
Такое и было на интервью. Первоначально было 4 функции, так красавцы в ручную писали.
#36 #739429
Лиспер в тренде, все под шконку!
for (var i = 0; i < 368; i++) {
eval("A[" + i + "] = function () { console.log(" + i + "); }");
}
>>739431>>739436
#37 #739431
>>739429
Проиграл с этого лиспера
>>739439
#38 #739432
>>739345 (OP)

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

#39 #739434
>>739345 (OP)

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

#40 #739436
>>739429
Мало скобочек))))
>>739440
#41 #739439
>>739431
Хуле у вас в жс евал не может просто безымянную функцию вычислить и вернуть?
>>739444
#42 #739440
>>739436
Получилось даже больше, чем если бы писалось на лиспе.
#43 #739444
>>739439

>eval('(function(){console.log("ты хуй")}())')


Это ты ничего не можешь.
>>739450
#44 #739446
>>739402
Слишком футуристично
#45 #739448
>>739402
ебанат

>[0, 1, , 368].length // 4


Иди умойся.
>>739449
#46 #739449
>>739448
Ага, обосрался, знаю. Я ж на этих ваших жсах не писал никогда.
#47 #739450
>>739444
А, всё-таки скобок маловато было.
#48 #739454
>>739420
Даун, ты его не из консоли вызывай.
#49 #739465

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

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

O(1) память.
>>739479
#51 #739479
>>739471
У тебя не массив.
Надо таргет поставить []
>>739483
2 Кб, 410x36
#52 #739483
>>739479
Технически не массив, но работает так же.
#53 #739486
>>739483
Пиздабол. Иди учи язык.
sage #54 #739487
>>739483
Используйте мондадный актор и скобки.
13 Кб, 584x274
#55 #739491
>>739483
Прежде чем выебываться, изучи основы хотя бы.
>>739494>>739497
#56 #739494
>>739491
Достаточно проверки на хэзОвнПропиртю, актуаллю.
>>739496
#57 #739496
>>739494
Ты проебал ТЗ по всем фронтам.
Это не массив. Это не ведет себя как массив.
В нем не 368 элементов.
>>739548
#58 #739497
>>739491
Ну что за дауненок опять. Такое ощущение, что в треде собрались одни второсорты и посредственности. А я - звезда, которая освещает эту дыру.
В задании четко указан функционал - по A[n]() выводить n. Мое решение - лучшее и идеальное.
#59 #739500
>>739497

>сказано сделать массив


>не сделал его


>говорит что выполнил ТЗ

>>739508
#60 #739504
>>739497
В задаче четко указано сделать массив
Ты сделал прокси объект, который даже не ведет себя как массив.
Чтобы добиться нужного функционала, тебе надо таргет сменить с {} на []
и еще вводить проверки чтобы проксировать свойства.
>>739508
#61 #739506
>>739497
С тем же успехом, можно было бы запилить функцию, печатающую аргумент, и этим ограничиться, бить себя в грудь и говорить - это решает поставленную задачу и печатается индекс.

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

>больше 60 постов


>все еще нет C++


http://ideone.com/jEqwqo
>>739515
#65 #739515
>>739513
Кек, плюсоебам даже нормальных замыканий не завезли
>>739517>>739518
#66 #739517
>>739515
>>739509
Вон, даже у го-даунов запилили.
#67 #739518
>>739515

>пишет на API для браузеров, написанных на плюсах


>кукарекает что-то в сторону плюсов


- Раздался пронзительный голос со стороны параши.
#68 #739521
>>739518
Пусть кукарекает, что с него взять?
#69 #739523
>>739518
Пфф... вот как напишете нормально, тогда и будете выебываться, а пока не кукарекай, вилку в руки и пиздуй оптимизировать ту парашу, что вы наговнякали.
#70 #739527
>>739518
Ничего против плюсов не имею, но почему ты просто не привел пример нормальных замыканий. Можно даже машинный код привести в пример. Все "написано на нем", но где там нормальные замыкания?
>>739531
#71 #739531
>>739527

>но где там нормальные <фичанэйм>


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

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

>>739536
#73 #739536
>>739533
Да вон, гляди как надо >>739357
>>739538
#74 #739538
>>739536
У меня изящнее
>>739539>>739551
#75 #739539
>>739538

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


>map print [0..367]


Ага, изящность аж зашкаливает
>>739561>>739569
#76 #739548
>>739496
Я не он, и не спорю — ты прав.
#77 #739551
>>739538

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


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


В голос с долбаеба
>>739559
#78 #739559
>>739551
Что несешь, поехавший.
#79 #739561
>>739539
Да, изящнее.
>>739357
>>739569
#80 #739562
var arr = [];
for (var i = 0; i < 368; i++) {
arr = (function(i) {
return function() {
console.log (i);
};
})(i);
}

По простецкому. Ебал в рот "изящность".
#81 #739567
>>739562
Пиздец, нахуя создал 368 замыканий?
sage #82 #739568
>>739562

>IIFE


>no arrow functions


>arr


>368 closures with unnecessary complexity


>По_простецкому


>2016

#83 #739569
>>739561
Приглядись к коду. То, что написал ты, соответствует >>739539

>>map print [0..367]


этой строчке
>>739577
sage #84 #739572
>>739562
window.peremenaya = new Function (alert[('ti','daun'].join(' ebaniy '));
>>739573
sage #85 #739573
>>739572
У тебя мандада сломалась.
#86 #739576
Соснули все!
A=( `seq 0 367 | sed s_^_echo,_` )
http://ideone.com/HlOXn2
#87 #739577
>>739569
Нет.
Не соответствует.
Тебе еще надо будет подтянуть IO, как минимум
>>739581
#88 #739580
>>739562

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

arr.push(

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

);
>>739586>>739589
#89 #739581
>>739577
Куда подтянуть? О чем ты?
>>739584
#90 #739584
>>739581
Если ты отдашь компилятору map print [0..367]
Он выбросит ошибку.

Значит это нерабочая программа.
>>739588
#91 #739586
>>739580
И ты нахуя создал 368 замыканий ненужныйх. Ты тоже дебил?
#92 #739588
>>739584

>Prelude> :t map print [0..367]


>map print [0..367] :: [IO ()]


Всё работает. О чем ты?
#93 #739589
>>739562
>>739580

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

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

>for (var a = []; a.length < 368; a.push (console.log.bind(console, a.length)));

>>739598>>739825
#96 #739598
>>739596
Дай свою руку, дружище! Я тебе отрублю её нахуй
>>739599
#97 #739599
>>739598
Всё работает.
#98 #739605
Кто-то знает, что это за хуйня? Если припишем
var r=[];
for (i=0;i<10;i++){
r=i;
}
То у нас же не будет
r[5] == 10
#99 #739607
>>739605
var r=[];
for (i=0;i<10;i++){
r=i;
}
#100 #739611
>>739605
Оно и не должно.
Ты же устанавливаешь r[5] = 5
С чего бы ему быть равно 10?
>>739617
#101 #739617
>>739611
А почему функция бы возвратила 10?
>>739621
#102 #739620
>>739605
Потому что тут

>r[_i_]=i;


ты присваиваешь _значение_, а в случае с функцией захватываешь саму переменную
#103 #739621
>>739617
какая?

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

r[5] по-прежнему равно 5
77 Кб, 1012x722
sage #104 #739622
Как платить удобнее?
#105 #739623
>>739622
Не кошерно.
Асм нужен.
#106 #739625
>>739622
Хуйцами
#107 #739635
>>739622
А что за редактор справа, и почему он такой няшный?
>>739726
#108 #739645
var arr = [];

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

arr[5]() // =10

Почему?
#109 #739726
>>739635

>Caret


>>739645
если в крестовых терминах: потому что i в замыкание передается по ссылке.
>>739731>>739734
#110 #739731
>>739726

>что i в замыкание передается по ссылке.


Нет, у него как раз нет замыкания, и поэтому он проебывается.

>>739645

>Почему?


потому что на момент вызова у тебя i = 10.
Замени var i на let i
чтобы ограничить область видимости переменной.
>>739750
#111 #739732
>>739645
var arr = [];

for (var i = 0; i < 10; i++) {
arr[\i] = (function(){console.log(i)});
}
console.log(i) // 10
сам не понимаешь что ли
>>739786
#112 #739734
>>739726
Примитивы никогда не передаются по ссылке.
>>739750
#113 #739740
Давайте специальную олимпиадку устроим, а то давно не было.
>>739741
#114 #739741
>>739740
С нормальной задачкой, а не как у ОП-хуя
#115 #739750
>>739731

>Нет, у него как раз нет замыкания


https://developer.mozilla.org/en/docs/Web/JavaScript/Closures
>>739734
В крестах? http://ideone.com/4s762q
#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
#117 #739786
>>739732
А не должно ли оно в функцию записать значение i, а не вечную ссылку на него? Как такое сделать если не так?
#118 #739818
>>739786

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


Нет не должно.

>Как такое сделать если не так


Создав замыкание в IIFE

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



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

Потом не говори, что язык хуевый,а не руки у тебя.
#119 #739820
>>739786
Правильно делать через let
for (let i = 0)
#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
#121 #739825
>>739786
Вот >>739596
и не нужно никаких i
#122 #739829
>>739824
arr = for i <- 0..367, into: %{}, do: {i, fn -> IO.puts(i) end}

arr[228].() // 228
>>739856>>742220
sage #123 #739856
>>739829
{:error, 'ti pituh))'}
>>740135
#124 #739937
>>739345 (OP)
Я написал и кончил
http://ideone.com/OVvf8I
>>739976
#125 #739976
>>739937
Чего только не сделают, лишь бы на лиспе не писать.
http://ideone.com/laBjME
>>739999>>740426
#126 #739997
>>739345 (OP)
var A = [];
for (var i = 0; i < 368; i++) (function(index) {
A[index] = function() { console.log(index); };
})(i);
Учу ваниль 4 месяца-кун.
#127 #739999
>>739976
Пиздец.
Это ваш хваленый лисп?
То что на js делается в одну строчку и в четыре операции, на лиспе развернуто в такую простыню?
>>740218
#128 #740029
[code lang="sml"]
tabulate (368, (fn n => fn () => print (Int.toString n)))
[/code]
#129 #740094
>>739375
Лол.
[code lang="scala"]
(0 until 368).map(i => () => println(i))
[/code]
#130 #740135
>>739856
спасибо)
#131 #740151
>>739345 (OP)

> (Автор этого поста был предупрежден.)


https://www.youtube.com/watch?v=qCuaPUVFbzg
#132 #740218
>>739999
То просто калька с крестового кода.

>То что на js делается в одну строчку и в четыре операции


Нет, полный аналог того кода ты в четыре операции не сделаешь.
>>740426
#133 #740358
>>740373>>740376
#134 #740373
>>740358
А где final static abstract virtual void KoKoKoKudah <Kukarek>?
Мы Вам перезвоним.
>>740375>>740394
#135 #740375
>>740373
Сука, буквально на пару секунд опередил
#136 #740376
>>740358

>@FunctionalInterface private interface PrintFunction { public void execute(); }


А это что за костыль?
>>740381
#137 #740381
>>740376
Это в Java такую лямбду не завезли - определил руками https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html

Если я слепой мудак - ткните носом, пожалуйста.
>>740384>>741617
#138 #740384
>>740381

>https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html


Ой бляя.. Так всё плохо? Я-то думал, современная ява уже почти нормальным языком стала, а там всё через жопу
>>740397
#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
#140 #740397
>>740384

>Так всё плохо?


Не все, но можно и получше, да.
>>740399
#141 #740399
>>740397
Не, ну ты понимаешь, что смолтолк в 80м году был более выразительным да, уже в 80м там были первоклассные блоки кода ака замыкания, чем сегодняшняя ява. Нахуй так жить?
>>740400
#142 #740400
>>740399
За деньги можно писать хоть на Васике.
>>740405
#143 #740405
>>740400
За деньги можно и не программировать.
>>740412
#144 #740412
>>740405
На том и порешим.
#145 #740422
>>740394
Такой ебнутый язык.
Что java, что кресты.
Сколько раз не хотел выучить, этот ебануиый синтаксис отталкивает. Люто просто.
Зачем так жить.
>>740425
#146 #740425
>>740422
Разрешаю тебе писать на любом другом.
>>740429
#147 #740426
>>740218
Я лисп читать не умею. Напиши по шаговый алгоритм, что тут происходит >>739976
Если не сложно.
#148 #740429
>>740425
Да суть не в этом.
Это само собой.

Но ведь сам факт.
Вроде си-подобный, но все равно какая-то эзотерика и перегруженность.
>>741634
#149 #741617
>>740381
Runnable
>>741642
#150 #741634
>>740429

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


А ты си код видел? Не хэловорлд, а полноценный проект вымазанный макросами, еблёй с указателями, битовыми полями и прочей няшностью?
>>742947
#151 #741642
>>741617
Действительно. Спасибо, Антош.
Java https://ideone.com/OlUWsB
#152 #741803
C++ https://ideone.com/IspL0t
В 6ой строке в ретурне временный объект не создаётся?
>>741994>>742114
#153 #741994
>>741803
Нет, ты возвращаешь ссылку на один и тот же класс. Выше уже было правильное решение на плюсах через std::function.

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

>>739772-кун
>>742128
#155 #742128
>>742114
Я тебе сейчас секрет открою, но ничего перегружать не нужно было – достаточно пихать в вектор лямбду захватившую значение.
>>743145
#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]();

Проверяйте.
#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]();

Проверяйте.
#157 #742220
>>739824
>>739829
Чуханы.
Enum.map(0..368, &(IO.puts &1))
>>743180>>743184
#158 #742266
https://ideone.com/gaPfoY
Я разочаровался в Пиздоне.
>>742396
#160 #742396
>>742266
Ты даун прост
https://ideone.com/2PHJTl
>>742758
#161 #742408
>>739406
Анус твой элементарный, макака. Если код делает такую простую вещь и при этом в первую же секунду, как кто-то на него взглянул, ему не ясно, что он делает, то этот не код, а кусок кала.
>>742427
40 Кб, 450x410
#162 #742411
Ебать проблевался с треда. Неудивительно, что у местных чмох хроническое МЫ ПЕРЕЗВОНИМ. Если бы увидел у кого-то из своих подобную парашу, тут же бы с вертушки ему пояснил за всю хуйнюфигурально.
#163 #742427
>>739406
>>742408
хуйнюнаписал этот >>739398
Он просто создал массив из 368 элементов значением в каждом которго является индекс этого массива.
Где функции маня?

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

>Писю пососи, даунито.


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

В этом вся суть. Пошел вон из профессии.
#165 #742758
>>742396
Я так понял (х) нужно для копирования? Ткни место в документации.
>>742762
#166 #742762
>>742758
Почитай про замыкания, они работают практически одинаково во всех языках.
#167 #742782
>>739345 (OP)

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



wow such programmer
#168 #742944
>>739622
нах те асм, долбоеб
это же и на сишечке можно сделоть
#169 #742947
>>741634

>вымазанный макросами, еблёй с указателями, битовыми полями


структурки наложеные на голую память забыл добавить
>>742991
#170 #742965
>>741994
Так это даже лучше чем плодить новые объекты и каждый инициализировать. Экономнее выходит.
>>742989
#171 #742989
>>742965
Условие задачи прочитай, экономист. Создать массив функций, а не вызвать n раз функцию.
>>743417
#172 #742991
>>742947
Сами структурки – это ничего.
Веселье там начинается с объеденений и редактирования выравнивания в этих самых структурах.
#173 #743002
>>739414
Начал было писать всё как положено, но уже на комментах сдулся
https://ideone.com/vYY9hH
>>743056
#174 #743056
>>743002
Отлично!
#175 #743145
>>742128
Слухай, а таки да. Спасибо за наводочку, чет как-то не подумал сразу даже.
#176 #743161
>>739357

>Массив


>Список

>>743194
#177 #743180
>>742220
>>742220

>Enum.map(0..368, &(IO.puts &1))


лист из :ok у тебя создался, не из функций
#178 #743184
>>742220
arr = Enum.reduce(367..0, [], fn i, acc -> [fn -> IO.puts(i) end|acc] end)

пофиксил за тебя
>>743714
#179 #743194
>>743161

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

>>743423
#180 #743228
>>739345 (OP)
Groovy

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

http://ideone.com/vz8X29
>>743234
#181 #743234
>>743228
Принтлн должен быть внутри, ты обосрался.
>>743241
#182 #743241
#183 #743417
>>742989
Оператор [] переопределён значит это массив.
#184 #743423
>>743194
Открой для себя instanceof
>>743838>>743839
sage #185 #743714
>>743184
acc тут нахуя?
>>744049
#186 #743838
>>743423

> "string" instanceof String; // false

>>744817
#187 #743839
>>743423

> typeof null // object


> null instanceof Object // false

>>744817
#188 #743859
>>739364
Содомит!
#189 #743869
[ fun() -> X end || X <- lists:seq(0, 368) ]

http://ideone.com/NZyDKO
#190 #744049
>>743714
а как ещё итоговый список составить?
#191 #744314
[CODE]
object array {
def apply(i: Int) = () => println(i);
}

array(12)()
[/CODE]
>>744771>>744819
#192 #744402
var a = new Func<int>[368];
for (int i = 0; i < a.Length; ++i) {
var n = i;
a = () => n;
}
>>745400>>745402
#193 #744771
>>744314
Это не массив
#194 #744816
Годный тред, на самом деле.
На примере такой мелкой простейшей задачки, можно наблюдать насколько часто и насколько сильно исполнители неправильно понимают или не выполняют ТЗ. По глупости, или же с намеренной инициативой, в итоге делают совершенно не то, что нужно.

Отличный такой срез, отражающий всю суть в индустрии.
#195 #744817
>>743838
>>743839
Поехавший? Ты зачем примитивы чекаешь на инстанс?
>>744912
#196 #744819
>>744314
Если это ввглядит, как массив, и оьрвщение как к массиву...
#198 #744912
>>744817

> джяваскрипт


> примитивы


Мартышка продолжает обсираться.
>>745416
#199 #745335
>>744823

>console.log.bind(console, a.length)


Что-то мне подсказывает, что реально такое не будет работать.
>>745415
#200 #745358
#201 #745400
>>744402
Два чая
>>745402
#202 #745402
>>744402
Ты конечно только с индексами массива в цикле проехался.
>>745400
#203 #745415
>>745335

>реально такое не будет работать.


>уже работает


Ты здоров?
>>745427
#204 #745416
>>744912
Иди-ка выучи язык.
#205 #745427
>>745415
Видимо, нет. Мне почему-то казалось, что console.log нельзя биндить.
>>745432
#206 #745432
>>745427
console.log это функция, которая не будет работать если у нее this не console
В другое место ты не забиндишь ее.
>>745456
#207 #745456
>>745432
а в ноде можно))
>>745466
#208 #745466
>>745456
Потому что в ноде console это поток вывода stdout, а не консоль.
#209 #745522
>>739345 (OP)
НА-ХУ-Я?
>>745789
#210 #745789
>>745522
Такие ситуации встречаются постоянно, пользуя node async.js, например. Параллелизировал как-то агрегацию в mongodb, разбивая один запрос на кучу более мелких, например, аггрегацию за год разбивал на 365 агрегаций по дню, вот точно такая задача нужна была.
#211 #745948
>>739425
Нуфаги не могут в петон.
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 2 июня 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски