- The snippets are under the CC-BY-SA license.
- Please consider keeping a bookmark
- (instead of printing)
Smalltalk | |||
---|---|---|---|
1 |
Print a literal string on standard output
|
|
|
2 |
Loop to execute some code a constant number of times
|
||
3 |
Like a function which doesn't return any value, thus has only side effects (e.g. Print to standard output)
|
||
4 |
Create a function which returns the square of an integer
|
||
5 |
Declare a container type for two floating-point numbers x and y
|
||
6 |
Do something with each item x of an array-like collection items, regardless indexes.
|
||
7 |
Print each index i with its value x from an array-like collection items
|
||
8 |
Create a new map object x, and provide some (key, value) pairs as initial content.
|
|
|
10 |
Generate a random permutation of the elements of list x
|
||
11 |
The list x must be non-empty.
|
|
|
12 |
Check if the list contains the value x.
list is an iterable finite container. |
|
|
13 |
Access each key k with its value x from an associative array mymap, and print them.
|
mymap keysAndValuesDo: [ :k :x | Transcript cr; show: 'Key = ', k printString; show: ', Value = ', x printString] |
|
14 |
Pick a random number greater than or equals to a, strictly inferior to b. Precondition : a < b.
|
|
|
15 |
Pick a random integer greater than or equals to a, inferior or equals to b. Precondition : a < b.
|
|
|
19 |
Reverse the order of the elements of list x.
This may reverse "in-place" and destroy the original ordering. |
|
|
21 |
Swap the values of the variables a and b
|
||
22 |
Extract the integer value i from its string representation s (in radix 10)
|
|
|
26 |
Declare and initialize a matrix x having m rows and n columns, containing real numbers.
|
||
28 |
Sort the elements of the list (or array-like collection) items in ascending order of x.p, where p is a field of the type Item of the objects in items.
|
||
29 |
Remove i-th item from list items.
This will alter the original list or return a new list, depending on which is more idiomatic. Note that in most languages, the smallest valid value for i is 0. |
||
31 |
Create the recursive function f which returns the factorial of the non-negative integer i, calculated from f(i-1)
|
||
32 |
Create function exp which calculates (fast) the value x power n.
x and n are non-negative integers. |
||
38 |
Find substring t consisting in characters i (included) to j (excluded) of string s.
Character indices start at 0 unless specified otherwise. Make sure that multibyte characters are properly handled. |
||
39 |
Set boolean ok to true if string word is contained in string s as a substring, or to false otherwise.
|
||
41 |
Create string t containing the same characters as string s, in reverse order.
Original string s must remain unaltered. Each character must be handled correctly regardless its number of bytes in memory. |
|
|
45 |
Sleep for 5 seconds in current thread, before proceeding with the next instructions.
|
||
46 |
Create string t consisting of the 5 first characters of string s.
Make sure that multibyte characters are properly handled. |
||
47 |
Create string t consisting in the 5 last characters of string s.
Make sure that multibyte characters are properly handled. |
||
48 |
Assign to variable s a string literal consisting in several lines of text, including newlines.
|
||
49 |
Build list chunks consisting in substrings of input string s, separated by one or more space characters.
|
||
50 |
Write a loop that has no end clause.
|
||
51 |
Determine whether the map m contains an entry for the key k
|
||
52 |
Determine whether the map m contains an entry with the value v, for some key.
|
||
53 |
Concatenate elements of string list x joined by the separator ", " to create a single string y.
|
||
54 |
Calculate the sum s of the integer list or array x.
|
||
55 |
Create the string representation s (in radix 10) of the integer value i.
|
|
|
57 |
Create the list y containing the items from the list x that satisfy the predicate p. Respect the original ordering. Don't modify x in-place.
|
|
|
66 |
Calculate the result z of x power n, where x is a big integer and n is a positive integer.
|
||
96 |
Set boolean b to true if string s starts with prefix prefix, false otherwise.
|
||
99 |
Assign to the string x the value of the fields (year, month, day) of the date d, in format YYYY-MM-DD.
|
||
110 |
Set the boolean blank to true if the string s is empty, or null, or contains only whitespace ; false otherwise.
|
||
117 |
Set n to the number of elements of the list x.
|
||
118 |
Create the set y from the list x.
x may contain duplicates. y is unordered and has no repeated values. |
||
119 |
Remove duplicates from the list x.
Explain if the original order is preserved. |
||
131 |
Execute f1 if condition c1 is true, or else f2 if condition c2 is true, or else f3 if condition c3 is true.
Don't evaluate a condition when a previous condition was true. |
||
134 |
Declare and initialize a new list items, containing 3 elements a, b, c.
|
||
136 |
Remove all occurrences of value x from list items.
This will alter the original list or return a new list, depending on which is more idiomatic. |
||
137 |
Set the boolean b to true if the string s contains only characters in the range '0'..'9', false otherwise.
|
||
143 |
Iterate alternatively over the elements of the list items1 and items2. For each iteration, print the element.
Explain what happens if items1 and items2 have different size. |
||
147 |
Create string t from string s, keeping only ASCII characters
|
||
158 |
Create a new list y from randomly picking exactly k elements from list x.
It is assumed that x has at least k elements. Each element must have same probability to be picked. Each element from x must be picked at most once. Explain if the original ordering is preserved or not. |
||
163 |
Print all the list elements, two by two, assuming list length is even.
|
||
165 |
Assign to variable x the last element of list items.
|
|
|
166 |
Create the list ab containing all the elements of the list a, followed by all the elements of the list b.
|
||
169 |
Assign to integer n the number of characters of string s.
Make sure that multibyte characters are properly handled. n can be different from the number of bytes of s. |
||
170 |
Set n to the number of elements stored in mymap.
This is not always equal to the map capacity. |
||
172 |
Insert value v for key k in map m.
|
||
179 |
Return the center c of the rectangle with coördinates(x1,y1,x2,y2)
|
||
184 |
Assign to variable t a string representing the day, month and year of the day after the current date.
|
||
185 |
Schedule the execution of f(42) in 30 seconds.
|
||
189 |
Produce a new list y containing the result of function T applied to all elements e of list x that match the predicate P.
|
||
201 |
Calculate n, the Euclidean norm of data (an array or list of floating point values).
|
||
256 |
Print the numbers 5, 4, ..., 0 (included), one line per number.
|
||
272 |
Fizz buzz is a children's counting game, and a trivial programming task used to affirm that a programmer knows the basics of a language: loops, conditions and I/O.
The typical fizz buzz game is to count from 1 to 100, saying each number in turn. When the number is divisible by 3, instead say "Fizz". When the number is divisible by 5, instead say "Buzz". When the number is divisible by both 3 and 5, say "FizzBuzz" |
FYI; In classic Smalltalk, message cr alone does not output line breaks (it requires followed by an endEntry message i.e. Transcirpt cr ; entEntry.), so there was a convention to output a line break firstly then output the text by using show: method in which includes the endEntry process. Hence the cr message is sending firstly in the idiom.