gst 3.1
Версия реализации GNU Smalltalk языка программирования SmalltalkВерсия GNU Smalltalk, выпущенная в октябре 2008 года. Включает новые пакеты (Swazoo, Seaside, ROE, Magritte, Cairo, SDL), поддержку IPv6, новый интерфейс файловой системы и т.д.
Ссылки:
Примеры:
Hello, World! - Smalltalk (242):
'Hello, World!' printNl.
Факториал - Smalltalk (243):
В классе Number есть встроенный метод factorial
, который здесь и используется.
0 to: 16 do: [ :i |
i display.
'! = ' display.
i factorial displayNl
].
Числа Фибоначчи - Smalltalk (244):
Используется итеративное определение чисел Фибоначчи.
a1 := 0.
a2 := 1.
0 to: 15 do: [ :i |
a2 display.
t := a1 + a2.
a1 := a2.
a2 := t.
', ' display
]
'...' displayNl.
Квадратное уравнение - Smalltalk (358):
a := (stdin nextLine) asNumber.
(a == 0)
ifTrue: [
'Not a quadratic equation.' displayNl.
]
ifFalse: [
b := (stdin nextLine) asNumber.
c := (stdin nextLine) asNumber.
d := (b * b) - (4 * a * c).
(d == 0)
ifTrue: [
'x = ' display.
((-1)*b/2/a) displayNl.
]
ifFalse: [
(d > 0)
ifTrue: [
'x1 = ' display.
((-1)*b+(d sqrt)/2/a) displayNl.
'x2 = ' display.
((-1)*b-(d sqrt)/2/a) displayNl.
]
ifFalse: [
'x1 = (' display.
((-1)*b/2/a) display.
',' display.
((d abs sqrt)/2/a) display.
')' displayNl.
'x2 = (' display.
((-1)*b/2/a) display.
',' display.
((-1)*(d abs sqrt)/2/a) display.
')' displayNl.
].
].
].
CamelCase - Smalltalk (359):
text := stdin nextLine asLowercase.
text := text replacingAllRegex: '([^a-zA-Z]+)' with: ' '.
cc := ''.
text onOccurrencesOfRegex: '\b(\w+)\b' do: [ :each |
word := each match.
cc := cc,((word copyFrom: 1 to: 1) asUppercase),(word copyFrom: 2 to: (word size)).
].
cc displayNl.
Комментарии
]]>blog comments powered by Disqus
]]>