R.....y
R.....y
#programowanie #python

self.od
self.wpisywania
self.wszędzie
self.self.
self.dostanę
self.self-ataku

czy wy zawsze myślicie tylko o sobie? ヽ( ͠°෴ °)ノ
10
  • Najlepsze
  • Wszystkie komentarze
Z.....a
@RedveKoronny: explicite>implicite.
7
maisterwihaister
@RedveKoronny: możesz używać this jak chcesz, nikt tego nie sprawdza
3
patrolez
@RedveKoronny: zbyt mało języków programowania jeszcze widziałeś :P
Albo np. nie widziałeś obiektowego stylu pisania w natywnym C (czyli nie w C++).
2
patrolez
@RedveKoronny: chodzi mi o nazwę i położenie pierwszego argumentu/zmiennej, a nie o sygnaturę. Zmienisz na "this", to będziesz mieć this - w każdym razie obiektowe "C", to jest właśnie napierdzielanie "self" jako pierwszy argument, lub jako C plus plusowe implicit this.
2
plusujemny
@RedveKoronny: użytkownikowi @patrolez chodzi o to że w obiektowych językach metody w danej klasie to tak naprawdę funkcje których pierwszym argumentem jest instancja klasy na której są wołane.
Czasami to jest równoznaczne i wspierane przez język, np. przez uniform function call syntax, extension methods to podobny temat.
Generalnie warto by było przy tej okazji poruszyć temat single dispatch i multiple dispatch ale nie chce mi się xD
2
Krolik
Krolik
@RedveKoronny: protip - "field" nie oznacza tego co myślisz, a w "parimeter" masz literówkę
2
Henryhenry
Henryhenry
1
janekhe
Treść przeznaczona dla osób powyżej 18 roku życia...
1
R.....y
R.....y
@maisterwihaister: kurła w c++ to wszystko było prostsze.
this-> było w zasadzie opcjonalne, i w sumie w praktyce tego prawie nie używałem.
Tutaj bez "self" nawet funkcji nie zadeklarujesz, ani do żadnej zmiennej sie nie odwołasz, a idź Pan w ciul
0
R.....y
R.....y
@patrolez: w C z tego co wiem, musisz dopisać tylko keyword "struct" zanim go użyjesz, czyli masz np

void Foo(struct MyStruct k){
printf("%d\t%d\n", k.a, k.b);
}
0
R.....y
R.....y
@ZabiliMiZolwia: to nie jest rust, gdzie do pobrania inputu od usera potrzeba 15 metod na boga ;_;
0
patrolez
@RedveKoronny: no i teraz, styl obiektowy w C, polega na tym, że funkcje w pierwszym argumencie przyjmują strukturę, którą można nazwać "this".

Ostatecznie zawsze masz adresowalne dane/informacje-obiekty i dane/informacje-wykonywalne, a jeżyk programowania ma za zadanie to jakoś spójnie i przyjaźnie złączyć, aby to współgrało ze sobą :P
0
R.....y
R.....y
@patrolez: dasz przykład? Bo chyba się z tym nie spotkałem
0
patrolez
@RedveKoronny: https://github.com/torvalds/linux/blob/master/drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c

Wszystkie funkcje w tym pliku przyjmują strukturę tego samego typu przez wskaźnik jako pierwszy argument funkcji.

W C++ zamiast tej struktury i kilku funkcji, to byś to naklepał jako klasa lub struktura z metodami, a this po prostu jest cukrem składniowym na takie podejście z pierwszym
0
R.....y
R.....y
@patrolez: w tym pliku nie ma słowa "this"
widzę tylko keyword "struct" w momencie deklarowania użycia struktury (w sensie tworzenie zmiennej, albo przekazywanie struktury do funkcji).
Dalej wydaje mi się to mniejszy masochizm, biorąc pod uwagę że nie dopisuję "struct" przed każdą zmienną w samym structcie :V
0
R.....y
R.....y
@patrolez: no cóż, pozostaje przeboleć
0
R.....y
R.....y
@patrolez: da się w pythonie oddzielic duże liczby?
W c++ można napisać
1'000'000 żeby było czytelniejsze. Da sie tak w pythonie?
0
patrolez
@RedveKoronny: C++ jest tutaj wyjątkiem, że ma znak apostrofu, dużo języków ma _ (underscore/podreślnik), w tym Python.
0
R.....y
R.....y
@patrolez: o, dzięki
0