poniedziałek, 24 czerwca 2013

Pułapka przypisania wartości / Assigment trap

Krótko i konkretnie, jako, że nie każdy mógł o tym wiedzieć.

Pierwsze pytanie, to jaką wartość dla x uzyskamy takim kodem?

byte x;
byte a=1;
byte b=2;
x=a=b;

Pomyśl nad prawidłową odpowiedzią chwilę...

Prawidłowa odpowiedź to 2
Mało tego, od powyższej instrukcji każda zmienna wynosi 2

Uzasadnienie jest proste, takie operacje przypisania wykonywane są od prawej do lewej strony, więc:
a=b;
x=a;

Jak to NIE działa
x=1=2;
Kompilator od razy powiadomi nas, o błędnym przypisaniu.
1 != 2

Trzeba sobie uświadomić, że w taki sposób można wartościować tylko zmienne i indexery, a samo 1 i 2 można potraktować jako const (1 to 1 a 2 to 2), tak samo z
bool b;
b=false=true;


To chyba koniec dobranocki, i uważajcie na takie proste błędy.
Diabeł tkwi w szczegółach

wtorek, 4 czerwca 2013

Regexp

Regexp to potężna zabawka, tzw. regularne wyrażenia (regular expressions) pomagają nam dostosować wyszukiwane wartości w tekście bez najmniejszego problemu

Z braku czasu w tym momencie mogę zamieścić tylko link do bardzo fajnej strony do nauki
http://regexone.com/
i
http://regexp.pl/

Jeśli ktoś nie wie o czym mówię, to w aktualnym stanie mogę jedynie polecić wpisanie w google:
"regexp, programowanie", albo "regexp, programming"

Regexp nie jest feature'm C#, występuje on w wielu wielu innych językach (zarówno z rodziny UNIX)