Historical SampleCode, Revision 11
Prompt the user for a string
-- Sample of Euphoria Source code -- include std/io.e constant CONSOLE = 1, KEYBOARD = 0, $ public function prompt_string(sequence prompt) object answer puts(CONSOLE, prompt) answer = gets(KEYBOARD) puts(CONSOLE, "\n") if sequence(answer) and length(answer) > 0 then return answer[1..$-1] -- trim the trailing end-of-line character else return "" end if end function writefln("You entered '[]'", { prompt_string("Enter your name: ")})
-- Another version which gives the same results -- include std/console.e object answer = prompt_string("Enter your name: ") display("You entered '[]'", {answer})
Sieve Of Erathosthenes
include std/io.e include std/convert.e include std/map.e include std/cmdline.e procedure eratosthenes(integer target) sequence sieve integer next_prime integer limit sieve = repeat(0, target) limit = floor(power(target, 0.5)) sieve[1] = 1 next_prime = 2 while next_prime <= target and next_prime != 0 do if next_prime <= limit then integer startnum = next_prime + next_prime for i = startnum to target by next_prime do sieve[i] = 1 end for end if writef( "[] ", next_prime) next_prime = find(0, sieve, next_prime+1) end while return end procedure procedure main() integer n object cmds cmds = cmd_parse({{"l", "limit", "The largest prime to find", {HAS_PARAMETER,ONCE}, -1}}) -- Default is 50. n = to_integer(map:get(cmds, "limit", 50) ) eratosthenes(n) end procedure main( )
99 Bottles of Beer
include std/text.e include std/io.e function cap(sequence text) if length(text) > 0 then return upper(text[1]) & lower(text[2..$]) end if return "" end function function count_bottles(integer n) sequence text switch n do case 0 then text = "no more bottles" case else text = format("[1] [?]", {n, {"bottles","bottle"}}) end switch return text end function procedure main() sequence bottlecount bottlecount = count_bottles(99) for i = 99 to 0 by -1 do -- Line one of the stanza writefln("[1] of beer on the wall, [2] of beer.", {cap(bottlecount), bottlecount}) -- Line 2 of the stanza if i > 0 then writef("Take one down and pass it around, ") bottlecount = count_bottles(i-1) else writef( "Go to the store and buy some more, ") bottlecount = count_bottles(99) end if writefln("[1] of beer on the wall.",{bottlecount}) writefln("") end for end procedure main()
Sequence manipulation
include std/console.e -- for display() include std/sequence.e -- for remove_all() include std/wildcard.e -- for is_match() object names = {"Fred Smith","Sue Jones","Arnold Kahn","Jane Smith","Ben Franklin","Frank Smith"} display("There are [] names:\n",length(names)) display(names) for i = 1 to length(names) do -- remove the Smiths! if is_match("* Smith",names[i]) then names[i] = 0 end if end for names = remove_all(0,names) display("Now there are [] names:\n",length(names)) display(names)
irv@irv-desktop ~ $ eui names There are 6 names: { "Fred Smith", "Sue Jones", "Arnold Kahn", "Jane Smith", "Ben Franklin", "Frank Smith" } Now there are 3 names: { "Sue Jones", "Arnold Kahn", "Ben Franklin" }
Not Categorized, Please Help
|
- diff to current revision, view current revision history, backlinks
- Last modified May 19, 2019 by irv