Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
30
Task/Synchronous-concurrency/E/synchronous-concurrency.e
Normal file
30
Task/Synchronous-concurrency/E/synchronous-concurrency.e
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
def printer := {
|
||||
var count := 0
|
||||
def printer {
|
||||
to run(item) {
|
||||
count += 1
|
||||
println(item)
|
||||
}
|
||||
to getCount() {
|
||||
return count
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def sender(lines) {
|
||||
switch (lines) {
|
||||
match [] {
|
||||
when (def count := printer <- getCount()) -> {
|
||||
println(`$count lines were printed.`)
|
||||
}
|
||||
}
|
||||
match [line] + rest {
|
||||
when (printer <- run(line)) -> {
|
||||
sender(rest)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Stream IO in E is not finished yet, so this example just uses a list.
|
||||
sender(<file:input.txt>.getText().split("\n"))
|
||||
Loading…
Add table
Add a link
Reference in a new issue