Czytasz wypowiedzi znalezione dla zapytania: stare w stringach





Temat: DELPHI: zmienne lokalne - jak predefiniować?


| Dochodzę do przekonania, że jednak Object Pascal na to nie pozwala...
| W takim razie =baaardzo to źle mówi o jakości tego języka. Lokalne
| zmienne statyczne to przecież podstawa.... abecadło, rzekłbym :-)

Zmienne statyczne to podstawa ? Abecadło ? -  To Twoje własne
przemyślenia,
czy też ktoś Ci je przekazał ?


praktyka mi to przekazala. tylko praktyka.

praktyka ta mowi takze, ze czasami trzeba przekompilowac kod napisany
pod Borlandem (np. 5 lat temu) kompilatorem obecnym. I ktos, kto zaplacil
ciezkie pieniadze za nowy kompilator, a starego nie ma, chcialby sie
spodziewac, ze nie dostanie jakichs popiepszonych komunikatow w stylu
"a tera nie ma zm. statycznych!".
Zasada kompatybilnosci powinna byc dochowywana...


IMHO te zmienne to cos w stylu 'goto' - mają
etykietę: "NIE UŻYWAĆ!!!"


bzdura. a to kto ci przekazal? wlasne przemyslenia? kto ci powiedzial,
ze jakakolwiek komenda jezyka jest ZAKAZANA?
Nie _naduzywac_ - zgoda!, ale sa sytuacje, gdy uzycie goto jest OPTYMALNE
i jakakolwiek inna konstrukcja bedzie wlasnie programistycznym
"potworkiem", zeby nie powiedziec... amatorszczyzna :-P


Poza tym w Object Pascalu możesz się nimi cieszyć
do woli zarówno w FPC jak i Delphi ( mam D4 )!


nie czytasz watku... pisalem wyraznie, ze mam D6. nie chodzi
mi o historie, bo wiem, ze kiedys byly. chodzi mi o ZLY trend
rozwoju tego jezyka, jaki obrano...
abstrachujac juz od zalet i wad statycznosci zmiennych, jest to tworzenie
narzedzia niekompatybilnego z soba samym (wstecznie) - co jest
po prostu niepowazne, IMO.
udac tym tokiem, mogli przeciez wykluczyc z jezyka i obiekty
"strukturowe", i stare stringi (tez "niezalecane") itd. A tymczasem
tworzony jest z jednej strony jezyk "hybrydowy", rozbudowany nadmiernie
dla zachowania zgodnosci z poprzednimi wersjami, a z drugiej - no nie
zawsze... szkoda, bo lubilem zawsze Delphi i Pascala...

Pozdrawiam
Adam

Przeczytaj więcej odpowiedzi



Temat: DELPHI: zmienne lokalne - jak predefiniować?
"AP" <a@poczta.onet.plnapisał:


| Zmienne statyczne to podstawa ? Abecadło ? -  To Twoje własne
przemyślenia,
| czy też ktoś Ci je przekazał ?

praktyka mi to przekazala. tylko praktyka.

praktyka ta mowi takze, ze czasami trzeba przekompilowac kod napisany
pod Borlandem (np. 5 lat temu) kompilatorem obecnym. I ktos, kto zaplacil
ciezkie pieniadze za nowy kompilator, a starego nie ma, chcialby sie
spodziewac, ze nie dostanie jakichs popiepszonych komunikatow w stylu
"a tera nie ma zm. statycznych!".
Zasada kompatybilnosci powinna byc dochowywana...


To powinno być skierowane do firmy Borland, a nie na tą grupę.


| IMHO te zmienne to cos w stylu 'goto' - mają
| etykietę: "NIE UŻYWAĆ!!!"

bzdura. a to kto ci przekazal? wlasne przemyslenia? kto ci powiedzial,
ze jakakolwiek komenda jezyka jest ZAKAZANA?
Nie _naduzywac_ - zgoda!, ale sa sytuacje, gdy uzycie goto jest OPTYMALNE
i jakakolwiek inna konstrukcja bedzie wlasnie programistycznym
"potworkiem", zeby nie powiedziec... amatorszczyzna :-P


Amatorszczyzna powiadasz...
No to rzucam rękawicę: pokaż kawałek kodu, który bez użycia goto będzie
nieoptymalny.


| Poza tym w Object Pascalu możesz się nimi cieszyć
| do woli zarówno w FPC jak i Delphi ( mam D4 )!

nie czytasz watku... pisalem wyraznie, ze mam D6. nie chodzi
mi o historie, bo wiem, ze kiedys byly. chodzi mi o ZLY trend
rozwoju tego jezyka, jaki obrano...


Zgubiłeś podmiot. Nie "obrano" tylko "Borland obrał" - wylewaj swoje żale do
nich.


abstrachujac juz od zalet i wad statycznosci zmiennych, jest to tworzenie
narzedzia niekompatybilnego z soba samym (wstecznie) - co jest
po prostu niepowazne, IMO.
udac tym tokiem, mogli przeciez wykluczyc z jezyka i obiekty
"strukturowe", i stare stringi (tez "niezalecane") itd. A tymczasem
tworzony jest z jednej strony jezyk "hybrydowy", rozbudowany nadmiernie
dla zachowania zgodnosci z poprzednimi wersjami, a z drugiej - no nie
zawsze... szkoda, bo lubilem zawsze Delphi i Pascala...


Zawsze zostaje FPC, jeśli w nim Ci się coś nie będzie podobało (a akurat
zmienne lokalne mogą w nim być statyczne) to źródła są dostępne i możesz
sobie zrobić swój własny kompilator.

Przeczytaj więcej odpowiedzi



Temat: .
teraz pamiętam. powiedziałem, Skąd kurwa masz moje stare stringi ? Przeczytaj więcej odpowiedzi



Temat: Hotel Dębowa Góra - porażka!!
Zapłaci to odszkowanie wystawiając na elegro stare stringi wytarte
pod pachami. Przeczytaj więcej odpowiedzi



Temat: Konwersja UTF-8/CP-1250?


On Sat, 06 Dec 2008 09:01:38 -0000, ethanak <sweetha@buziaczek.plwrote:
| Przez unpack() wczytuje się całe struktury, ale jeśli w PHP czytasz dane
| ściśle binarne, to przekraczasz kompetencje PHP (ascii albo czytanie z
| bazy to jest to).

Czyli chcesz mi zasugerować że jest to niemożliwe/nieefektywne i należy
użyć siakiejś biblioteki realizującej to co chcę zrobić? Albo nie robic
tego w PHP (tylko w czym, bo na serwerze to jeszcze mam do dyspozycji
PHP, PHP oraz PHP)?


Generalnie tak. To zależy od ilości danych - jeśli potrzebujesz wysłać/odebrać pakiet UDP, to pack()/unpack() są w sam raz, ale wczytywania PNG w czystym PHP odradzam.


Kiedyś napisałem (w PHP) programik zwracający rozmiary obrazka (pliku
graficznego). Oczywiście zaraz się wszyscy rzucili że do tego jest gd, że
jest funkcja i tak dalej... tyle że dziwnym trafem mój pehapowy kod
okazał się szybszy (nie mówię już o żarciu pamięci). A obrazek to w końcu
nic innego niż dane binarne...


To ci ktoś źle poradził, od tego jest getimagesize() [niezależne od GD], które patrzy tylko na nagłówki plików, bez dekodowania całości.


No właśnie. Dla mnie napis jest napisem zawierającym takie czy owakie
znaki (czyli stringiem JavaScriptu/Pythona czy wstringiem w C). Cos co
zawiera siakieś bajty jest dla mnie tablicą bajtów a nie napisem :)
Przy okazji: coś mi się o uszy obiło o wstringach w PHP6, ale jakoś nie
mogłem tego znaleźć... prawda to czy mi się wydawało?


PHP6 będzie miało obsługę a'la Py3k (stare stringi zostaną przemianowane na typ binary, a nowe stringi będą w UTF-16), do tego czasu pozostaje męczyć się z mb_* i preg_*('/../u') i w PHP5.3 php.net/intl


Poza tym z tego co zaobserwowałem z rozmowy z paroma "programistami" od
PHP tak "po pehapowemu" to jest użycie funkcji z biblioteki jeśli jest
oraz płacz i zgrzytanie zębów że "się nie da" jeśli takowej nie ma. Nie
obrażam w tym miejscu nikogo z tu obecnych, ów cudzysłów przy
"programistach" powinien sam wyjaśnić o co mi chodzi :)


Ano tak to jest. PHP to klej między rozszerzeniami, bazą, ew. jakimś frameworkiem, które odwalają prawdziwą robotę.


| b) czegoś co mi utworzy string o danej długości (nie znalazłem takiej
| funkcji, ale może istnieje). Mój pomysł to:

| str_repeat/str_pad

Kurrrr... czemu ja tego nie zobaczyłem?


Bo w PHP jest 5000 funkcji z nazwami generowanymi pseudolosowo? :)


Ech... nie, mam po prostu przyzwyczajenia z C i wydaje mi się, że
zaalokowanie stringu o konkretnej długości a potem wypełnienie go znakami
będzie bardziej wydajne niż sklejanie owego stringu z pojedynczych
znaczków (szczególnie przy dłuższych stringach). Ale mogę się mylić.


Zrobiłem benchmark - nie ma zauważalnej różnicy między milionem $str .= 'x' vs $str[$i] = 'x'. W przypadku dostępu tablicowego nie miało też znaczenia, czy string na początku miał 1, czy milion znaków.

PHP jest kilkaset razy wolniejszy od C. Coś takiego jak realokacja pamięci na stringa to jest dla niego operacja kwantowa.


Poza tym (nawiązując do owych "programistów") oszczędza mi to frustracji
w przypadkach kiedy skrypt nie działa bo nie, a w logach widzę "skrypt
zażądał XXX MB i nie dostał" :)


To ucieszy cię, że w PHP jeden int w tablicy zajmuje 76 bajtów, a pusty string 92 bajty :)

Przeczytaj więcej odpowiedzi
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • aircar.opx.pl