Smalltalk w 10 minut

Material w trakcie opracowywania.


Ogólne zasady

Składnię Smalltalka czytamy jak normalne zdania w języku angielskim od lewej do prawej. Zdania Smalltalka zakończone sa tak jak zdania jezyka naturalnego, czyli kropka.

c printString.
1 + 2 - 3.

Wyrażenia matematyczne sa obliczane trochę inaczej

Skutkiem ubocznym jest wykonywanie również wyrażeń matematycznych od lewej do prawej, a nie w myśl zasad matematyki.

Wyrażenie

3 - 2 * 5.

rowna sie w Smalltalku 5 a nie -7.

Aby otrzymać poprawny wynik zgodny z zasadami matematyki należy powyższe wyrażenie zapisać:

3 - (2 * 5).

Parametry metod

Parametry metod podajemy używajac dwukropka:

t rotateBy: 2 around: 6.

Składnia Java vs. Smalltalk

W składni języka Java powyższe wyrażenie wygladało by następujaco:

t.rotate(2,6);

Ale po co nam kropka?

t rotate(2,6);

Po co nam nawiasy?

t rotate 2,6;

Zdanie zakończone średnikiem? Lepiej kropka, tak jak w normalnym języku.

t rotate 2,6.

Ale co oznaczaja parametry 2 i 6?

t rotateBy: 2 around: 6.

I już mamy czytelne wyrażenie języka Smalltalk.


Komentarz, ciag znaków, symbol

"To jest komentarz"
'To jest ciag znakow'
#AToJestSymbol
#'I to tez jest symbol'

Przecinek jest operatorem, można go używać do łaczenia ciagów znaków:

'Ala ma ', 'kota'.

Przypisanie, równość, identyczność

:= - operator przypisania

= - operator porównania równości obiektów (taka sama zawartość obu obiektów)

== - operator porównania identyczności obiektów (wskażnik na ten sam obiekt)

Przykłady:

t := 7.

"Przypisanie do zmiennej t liczby 7."

a := 'Ala ma kota'.
b := 'Ala ma kota'.
a = b.

"Prawda, ponieważ a i b maja taka sama wartość."

a == b.

"Fałsz, ponieważ a i b wskazuja różne obiekty."

b := a.
a == b.

"Prawda, ponieważ a i b wskazuja teraz ten sam obiekt (wcześniej wskazywany tylko przez zmienna a)."

Zmienne i typizacja

Do zmiennych w języku Smalltalk mogą być przypisywane dowolne obiekty dowolnego typu. W związku z tym nie jest konieczne podawanie typu zmiennej w czasie jej deklarowania. Zmienne deklarowane są w następujący sposób:

| zmienna1 zmienna2 |

W związku z tym dobrzy programiści Smalltalka wybierają nazwy zmiennych w taki sposób, aby sugerowały one swój typ:

| vector circle filenameString |

W powyższym opracowaniu wykorzystano:

I Can Read C++ and Java But I Can’t Read Smalltalk

What's new

  • Deploying Pier on Ubuntu with Plesk at the german provider 1blu
    28 February 201312:21:04 pm by Przemysław Nieściór
    This tutorial describes how to deploy Pier on an Ubuntu Linux distribution with Plesk at the german provider 1blu. It assumes that you want to install a pier image on an Ubuntu Linux with Apache 2 und...
  • Mechanizm switch-case w Smalltalku
    11 June 201212:00:43 pm by Przemysław Nieściór
    ENGLISH VERSION BELOW POLISH VERSION Język Smalltalk nie oferuje wraz ze swoimi standardowymi klasami odpowiednika mechanizmu switch-case, popularnego na przykład w językach wywodzących sie z języka...