- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
class list(list):
def __call__(self, *args):
if len(args) == 0:
return self[:]
res = []
for i in args:
if type(i) == int:
res.append(self[i])
else:
res.append(self(*i) if len(i) != 1 else [[[self(0)]]])
return res
a = list(map(lambda x: x * x, range(10)))
print(a(1,0,(6,6,(5,4,3,(0)),6),3,2,(),8,))
(42,)
это кортеж
в нем надо быть очень осторожным
именно по этому я за
Я вообще в целом не считаю что на скриптовых языках надо писать сложные программы. Скриптовые языки для скриптов, для glue code. А люди напишут на нем социальную сеть, а потом ябуца в жопу
Плюсы и так все обсирают постоянно, любой плюсовик знает что плюсы говно, а вот скриптеры обычно фанбои того корявого говноинструмента, на котором они зарабатывают свой доширак
Приходица открывать им глазы
1
C programmer (fake C++ programmer) : They just know stdio.h and C syntax. However, it is possible to code C++ with only C syntax.
2
C with classes : They can use classes, overload, and virtual methods. However, using normal virtual methods in C++ have bad performance in speed.(vtable lookup)
3
C++ std programmer : They can use the std library of C++. e.g. vector, algorithm, iterator, string
4
C++ generics programmer : Able to make generics class and interface your original class to std.
5
Const programmer : read only memory programming makes efficient memory management
6
C++11er : lambdas, shared pointer, threads, move semantics
Boost User : Using boost to do modern C++ programming in old version of C++
7
Compile time programmer : Using templates & constexpr to make fast & memory efficient programming. Have great knowledge about compiler.
8
C++ specification hacker : Know various version of C++ specification and the condition of undefined behavior
9
C++ commitee member : Who makes C++. They are great hacker. You can find them in twitter.
Но работаю где-то на 6, иначе как это потом читать?
Что сьранно, hui.append([2]) добавляет список с одним елементом, а в моём коде вынимает всё нахуй
добавляй в письку школяр и все будет хорошо
если ты суваешь писок в писок то и будет у тебя писька писек
картёж вообще тут не причем
А в 10-й строчке res.append(self(*i))
Сую неправильные данные и ошиппку ищу не ту 😀
(0,) это тупла:
у вас же нет сфинктера
Я так же за lua
Можно создать хелпер для чужого класса. Он будет выглядеть так, как будто мы в класс добавили метод:
https://www.freepascal.org/docs-html/current/ref/refse61.html
Можно создать хелпер для простых типов. Даже для целого питуха:
https://www.freepascal.org/docs-html/current/ref/refse63.html
или категории из ObjC
И уж конечно во все классы (особенно в руби) их можно добавлять
В «C#» и в «Java» (про «Кокококотлин» не скажу, я его пока не трогал) всё является объектом, даже небо, даже Аллах (помним прикол с порчей кэша мелких чисел?), поэтому экстеншен методы в теории возможны для всего.
В «ObjC» нет методов в классическом для статически типизированных языков смысле. Там у объекта есть диспетчер, кокококоторый принимает сообщения.
А вот добавление подобных расширений в язык совершенно другой категории немного неожиданно. Хотя по сути это же всего лишь синтаксический сахар: невиртуальный метод —– это просто функция, в кококоторую первым аргументом неявно передаётся this/self.