Leser: 3
|< 1 2 3 4 ... 9 >| | 83 Einträge, 9 Seiten |
Quote1. whitespace: nesting lines of code; scope
2. object-oriented: attributes, methods (e.g. line)
3. readable
1
2
3
4
5
6
7
Python example
import sys
for line in sys.stdin.readlines():
for word in line.split():
if word.endswith(&âing&â):
print word
1
2
3
4
5
6
7
8
9
Perl exapmle
while (<>) {
foreach my $word (split) {
if ($word =~ /ing$/) {
print "$word\n";
}
}
}
Quote1. syntax is obscure: what are: <> $ my split ?
2. &âit is quite easy in Perl to write programs that simply look like raving gibberish, even to experienced Perl programmers&â (Hammond Perl Programming for Linguists 2003:47)
3. large programs difficult to maintain, reuse
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
def ngram(n, file):
    text = open(file).read()
    # n-1 Leerzeichen vor und nach Text einfuegen
    text = (n-1)*' ' + text + (n-1)*' '
    # Zaehler initialisieren
    C_h = {}   # Zaehler fuer Kontext/History
          #  (z.B. bei Trigram:  C(w1 w2)   )
    C_ngr = {}  # Zaehler fuer Ngram
          #  (z.B. bei Trigram:  C(w1 w2 w3)  )
          #  dictionary ueber Tupel aus h und letztem w
    vocab = {}  # Vokabular (dictionary mit Zaehlern)
    # Fenster von n Zeichen ueber den Text schieben
    for Ngram in [ text[i:i+n] for i in range(len(text)-n+1)]:
        # print 'Ngram: ' + Ngram
        (h, w) = (Ngram[:-1],Ngram[-1:])
        if w not in vocab:
            vocab[w] = 0.0
        vocab[w] += 1
        # Zaehler erhoehen (bzw. wenn noetig zuerst initialisieren)
        if h not in C_h:
            C_h[h] = 0.0
        C_h[h] += 1
       Â
        if (h,w) not in C_ngr:
            C_ngr[(h,w)] = 0.0
        C_ngr[(h,w)] += 1
    # Ergebnis: Tupel aus n und dictionaries von Zaehlern
    return (n, C_h, C_ngr, vocab)
1
2
3
# Fenster von n Zeichen ueber den Text schieben
for Ngram in [ text[i:i+n] for i in range(len(text)-n+1)]:
(h, w) = (Ngram[:-1],Ngram[-1:])
QuoteDie Frage ist, wie oft man solche Fehler [tipfhlr] macht, und ob das die Zeit rechtfertigt für alle Namen, bei denen man den Fehler nicht macht eine Deklaration vornehmen zu müssen.
1 2 3 4 5 6 7
while (<>) { foreach my $word (split) { if ($word =~ /ing$/) { print "$word\n"; } } }
1
2
3
# Fenster von n Zeichen ueber den Text schieben
for Ngram in [ text[i:i+n] for i in range(len(text)-n+1)]:
(h, w) = (Ngram[:-1],Ngram[-1:])
QuoteCode: (dl )1
2
3
4
5
6
7
8
9Perl exapmle
while (<>) {
foreach my $word (split) {
if ($word =~ /ing$/) {
print "$word\n";
}
}
}
1 2 3 4 5 6 7
while (<>) { foreach my $word (split) { if ($word =~ /ing$/) { print "$word\n"; } } }
QuoteZiel des Beitrages, der in der Kategorie "Sonstige Beiträge, auch Spaß u. Sinnloses" steht war es zu erzählen, was ich in der Uni von der staatlichen Bildungselite vor den Latz geknallt bekomme - Spaß und Sinnloses halt
QuoteZiel des Beitrages, der in der Kategorie "Sonstige Beiträge, auch Spaß u. Sinnloses" steht war es zu erzählen, was ich in der Uni von der staatlichen Bildungselite vor den Latz geknallt bekomme - Spaß und Sinnloses halt
1
2
3
# Fenster von n Zeichen ueber den Text schieben
for Ngram in [ text[i:i+n] for i in range(len(text)-n+1)]:
(h, w) = (Ngram[:-1],Ngram[-1:])
QuoteCode: (dl )1
2
3
4
5
6
7
8
9Perl exapmle
while (<>) {
foreach my $word (split) {
if ($word =~ /ing$/) {
print "$word\n";
}
}
}
|< 1 2 3 4 ... 9 >| | 83 Einträge, 9 Seiten |