Data update
This commit is contained in:
parent
72eb4943cb
commit
4d5544505c
2347 changed files with 62432 additions and 16731 deletions
13
Task/Generator-Exponential/Tcl/generator-exponential-2.tcl
Normal file
13
Task/Generator-Exponential/Tcl/generator-exponential-2.tcl
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
package require Tcl 8.6
|
||||
package require generator
|
||||
|
||||
generator define range {n m} {
|
||||
for {set i $n} {$i <= $m} {incr i} {
|
||||
generator yield $i
|
||||
}
|
||||
}
|
||||
|
||||
generator foreach x [range 22 35] {
|
||||
puts -nonewline stdout "${x} "
|
||||
}
|
||||
puts stdout ""
|
||||
54
Task/Generator-Exponential/Tcl/generator-exponential-3.tcl
Normal file
54
Task/Generator-Exponential/Tcl/generator-exponential-3.tcl
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
#!/usr/bin/env tclsh
|
||||
|
||||
package require generator
|
||||
|
||||
generator define idx_range {n m} {
|
||||
for {set i $n} {$i < [expr $m -1]} {incr i} { generator yield $i }
|
||||
}
|
||||
|
||||
generator define mth_power {m} {
|
||||
set n 0
|
||||
while {1} {
|
||||
generator yield [expr $n ** $m]
|
||||
incr n
|
||||
}
|
||||
}
|
||||
|
||||
generator define squares {} {
|
||||
|
||||
generator for x [mth_power 2] {
|
||||
generator yield $x
|
||||
}
|
||||
}
|
||||
|
||||
generator define cubes {} {
|
||||
|
||||
generator for x [mth_power 3] {
|
||||
generator yield $x
|
||||
}
|
||||
}
|
||||
|
||||
set acc {} ; # accumulator
|
||||
|
||||
set comm {} ; # common result
|
||||
|
||||
set limit 50
|
||||
|
||||
# run both generators concurrently
|
||||
|
||||
generator foreach x [squares] y [cubes] {
|
||||
|
||||
lappend acc $y
|
||||
|
||||
if { ! [expre {$x in $acc}] } { lappend comm $x }
|
||||
|
||||
if { [llength $comm] > $limit } {break}
|
||||
}
|
||||
|
||||
# elements 20.. 30
|
||||
set results [lrange $comm 19 29] ; # list range
|
||||
|
||||
generator foreach idx [idx_range 20 30] {
|
||||
set x [lindex $comm $idx]
|
||||
puts "$x"
|
||||
}
|
||||
|
|
@ -26,7 +26,6 @@ let filtered = gen(s1, s2) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
let squares = powers(2)
|
||||
let cubes = powers(3)
|
||||
let f = filtered(squares, cubes)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue