Brownian motion

around the essentials…

 

… я Схему би вивчив уже за одне: зі мною вона українською ;О)

(use-modules (ice-9 rdelim))
(use-modules (ice-9 regex))
 
(define конфігфайл "ZyXEL.confg")
 
(define конфіг (open-input-file конфігфайл))
 
(define (знайти-влани)
  (let повторити ((вже-знайдені '()) (влан #f))
       (if (not (eof-object? (peek-char конфіг)))
           (let ((рядок (string-trim-both (read-line конфіг))))
                (if (not влан)
                    (if (string-match "vlan" рядок)
                        (set! влан (list-ref (string-tokenize рядок) 1)))
                    (begin
                        (if (string-match "fixed" рядок)
                            (set! вже-знайдені
                                      (append вже-знайдені (list влан))))
                        (if (string-match "exit" рядок)
                            (set! влан #f))))
                  (повторити вже-знайдені влан))
             вже-знайдені)))
 
(display (string-join (знайти-влани) ","))

Звісно, можна також:

(define якщо if)
(define стань! set!)
(define зліпити-у-рядок string-join)
...

… і користуватися ними. Але то вже занадто :О)

(No Ratings Yet)

Напишіть відгук

XHTML: Можете використовувати такі теґи: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Останні публікації

Most Rated

Highest Rated

Теґи

Архіви