Конкурс, как добавить в грамматику Smalltalk switch или какой то вид паттерн матчинга? Вот листочек на второй странице которого можно полностью изучить смолтолк.
В кратце суть в том что все есть вызов сообщения, сообщения бывают трех видов унарные - 5 factorial(сообщение - factorial), бинарные 5 + 2(сообщение здесь это + 2),
и кейвордные - 15 between: 1 and: 2
В кратце суть в том что все есть вызов сообщения, сообщения бывают трех видов унарные - 5 factorial(сообщение - factorial), бинарные 5 + 2(сообщение здесь это + 2),
и кейвордные - 15 between: 1 and: 2
Smalltalk JavaВ языке нет никаких стейтментов, даже if это сообщение объекту Bool принимающее лямбду которая выполнится если Bool собственно True
aColor r: 0.2 g: 0.3 b: 0 aColor.setRGB(0.2, 0.3, 0)
d at: ’1’ put: ’Chocolate’ d.put("1", "Chocolate");
(15 between: 1 and: 2 + 4 * 3) not => false
5 > 2 ifTrue: [ 'hello sas' print ]2) Некий особый Railway синтаксис
sas = 'sas'.То что после палочек это сообщения которые будут отправлены в sas, если результат этих сообщений True то выполнится код после стрелочки, это все не совсем по смолтолкавски, тк кк в нем нет стейтментов или какого особого синтаксиса кроме отправки сообщений, но зато красиво
sas switch
| startsWith: 's' -> do code
| 'ses' -> do code
| endsWith: 's' -> do code
| palindrome -> do code
| _ -> do default code
"Smalltalk's design—and existence—is due to the insight that everything we can describe can be represented by the recursive composition of a single kind of behavioral building block that hides its combination of state and process inside itself and can be dealt with only through the exchange of messages."
Я не знаю, мне нравится https://youtu.be/XDk5Ynr9L4A?list=RDXDk5Ynr9L4A
YouTube
Native Patties
This one goes out to you Randy! :)
SPECIAL THANKS TO MY PATRONS!
Natalie Woolf
Caleb Santiago
Miika Juhola
Miles MacMahon
Scales
luciusOmega
Zachary Papps
Alex Underwood
Metis Pang
KingReardon
Evan Huber
Yuri Ibraev
Dimitar Dimitrov
Liam Aspinall
SONG USED:…
SPECIAL THANKS TO MY PATRONS!
Natalie Woolf
Caleb Santiago
Miika Juhola
Miles MacMahon
Scales
luciusOmega
Zachary Papps
Alex Underwood
Metis Pang
KingReardon
Evan Huber
Yuri Ibraev
Dimitar Dimitrov
Liam Aspinall
SONG USED:…