Zum Inhalt springen

Lambdaheads: Unterschied zwischen den Versionen

Epsilon.halbe (Diskussion | Beiträge)
Daxim (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 21: Zeile 21:
== nächster regulärer Termin ==
== nächster regulärer Termin ==


Termin: Di, '''2013-07-16''' ab 20:00 Uhr in der Bibliothek [[Lage|im Metalab]]
Termin: Di, '''2013-08-13''' ab 20:00 Uhr in der Bibliothek [[Lage|im Metalab]]


=== Programm ===
=== Programm ===


generators in future ECMAscript
Einführung emacs lisp


=== Teilnehmer ===
=== Teilnehmer ===
Zeile 70: Zeile 70:


= Frühere Events =
= Frühere Events =
== 2013-07-16 ==
generators in future ECMAscript (node.js 0.11.2) - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators
Python 3
<pre>
def pager(lines, pagelen=60):
    for lineno, line in enumerate(lines):
        yield line
        if lineno % pagelen == 0:
            yield "\f"
for line in pager((range(10000))):
    print(line)
</pre>
Perl 6
<pre>
use v6;
sub pager($lines, $pagelen=60) {
    gather for zip 1..200, $lines -> $lineno, $line {
        take $line;
        take "\f" if $lineno %% $pagelen
    }
}
for pager(1..*, 30) -> $line {
    say $line;
}
</pre>
Haskell
<pre>
pager ::(Show a) => [a] -> Int -> [String]
pager xs n = [if i %% n then show x else "\f" | (x,i) <- zip xs [1..]]
(%%) :: Int -> Int -> Bool
i %% n = (rem i n) /= 0
main :: IO ()
main = putStr ( unlines (pager [1..10000] 60))
</pre>


== 2013-06-18 ==
== 2013-06-18 ==