Code: Alles auswählen
#!/usr/bin/env io
Range
Converter := Object clone do(
name ::= nil
factor ::= 1
offset ::= 0
convert := method(x, x * self factor + self offset)
withName := method(name, self clone setName(name))
)
converters := List with(
Converter withName("Celsius"),
Converter withName("Fahrenheit") setFactor(9/5) setOffset(32),
Converter withName("Kelvin") setOffset(273.15)
)
input := method(prompt, File standardInput readLine(prompt))
start := input("Von? ") asNumber
end := input("Bis? ") asNumber
converters map(name) join("; ") println
start toBy(end, 10) foreach(x,
converters map(convert(x)) join("; ") println
)