Any fool can make things bigger, more complex, and more violent. It takes a touch of genius and a lot of courage to move in the opposite direction. Albert Einstein

o Ruby

Nowości i zmiany w Ruby 1.9 #2 - nowa składnia Hasha

5 komentarzy | Kategorie: Ruby, Techblog | trackback
Tagi:
ruby 1.9 changes approved - logo

Wpis ten jest jedną z części cyklu pt "Nowości i zmiany w Ruby 1.9". Pełną listę wpisów znajdziesz pod adresem http://radarek.jogger.pl/2008/11/30/nowosci-i-zmiany-w-ruby-1-9/.

Tym razem chciałbym pokazać Wam nową zmianę w składni języka, która dotyczy także Hasha. Zmiana ta dotyczy nowej składni dla literału hasha, którego kluczami są symbole. Do tej pory taki hash definiowaliśmy w następujący sposób:

h = {:foo => 1, :bar => 2}
p h
# => {:foo=>1, :bar=>2}

Od wersji 1.9 można to zrobić trochę inaczej

h = {foo: 1, bar: 2}
p h
# => {:foo=>1, :bar=>2}

Czytaj dalej...

Nowości i zmiany w Ruby 1.9 #1 - ordered Hash

16 komentarzy | Kategorie: Ruby, Techblog | trackback
Tagi:
ruby 1.9 changes approved - logo

Wpis ten jest jedną z części cyklu pt "Nowości i zmiany w Ruby 1.9". Pełną listę wpisów znajdziesz pod adresem http://radarek.jogger.pl/2008/11/30/nowosci-i-zmiany-w-ruby-1-9/.

Od wersji 1.9 Ruby zachowuje kolejność elementów w Hashu ("ordered Hash", czyli Hash zachowujący kolejność). Oznacza to, że iteracja po elementach hasha następuje dokładnie w takiej samej kolejności w jakiej były wstawiane elementy. Podkreślam słowo "wstawiane", co nie ma związku z sortowaniem kluczy (np. leksykograficznie).

Czytaj dalej...

Nowości i zmiany w Ruby 1.9

Brak komentarzy | Kategorie: Ruby | trackback
Tagi:

Blisko rok temu pisałem o zmianach jakie zaszły w wersji 1.9 Rubiego. W kilku następnych wpisach opiszę bardziej szczegółowo najważniejsze z nich. Prócz samego pokazania na czym dana zmiana/nowość polega postaram się także pokazać jakiś użyteczny kod, który wykorzystuje nowy "ficzer". Jak zwykle będą osoby, które pokochają nowe elementy języka, a także takie, które będą kręcić nosem. Tym bardziej, że o niektórych modyfikacjach języka można powiedzieć, że są kontrowersyjne (a przynajmniej po pierwszym spojrzeniu). W takich wypadkach opiszę także jak należy prawidłowo (co oczywiście będzie tylko moim punktem widzenia) używać konstrukcji lub czego się wystrzegać. Innymi słowy: to czego nie znajdziecie w "suchym" manualu (tudzież Changelogu).

Czytaj dalej...

Python (Ruby) Challenge #2, poziomy 6-10

5 komentarzy | Kategorie: Python, Ruby, Techblog | trackback
Tagi:

Jakiś czas temu starałem się zachęcić Was do zabawy pod nazwą "Python Challenge". Umieściłem wtedy rozwiązania pierwszych 5 zagadek. Brak większego odzewu spowodował, że do tej pory nie opisałem rozwiązań kolejnych zagadek. Uważam jednak, że temat jest wart odświeżenia.

Jeśli jeszcze nie wiesz jaka jest idea tej zabawy to opiszę Ci ją w kilku zdaniach. Idea jest następująca. Zabawę zaczynasz od strony startowej. Twoim celem jest odgadnięcie adresu następnego etapu. Podpowiedzi należy szukać w obrazku widocznym na stronie jak i w samym jej źródle. Przykładowo w zagadce oznaczonej numerem zero widać monitor, na którym jest napis "238". Jeśli obliczymy wartość tego wyrażenia a następnie podmienimy w adresie URL 0 na tą wartość dostaniemy się do następnego etapu. Następny poziomy są co raz trudniejsze.

Czytaj dalej...

ASCI art w konsoli linuksa

10 komentarzy | Kategorie: Programowanie, Ruby, Techblog, Tips & tricks | trackback
Tagi:

Jako programista spędzam spędzam sporo czasu pracując z konsolą. Konsola ma to do siebie, że wyświetla głównie... znaki. Wydawać by się mogło, że brak możliwości wyświetlania grafiki nie pozwala na urozmaicenie tego co jest w niej wyświetlane. Na szczęście tak nie jest. Mamy przecież ASCII art! ASCII art to sztuka tworzenia obrazków złożonych ze znaków ASCII.

Czytaj dalej...