Thread: Scheme/DrRacket

    #1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Nov 2012
    Posts
    3
    Rep Power
    0

    Scheme/DrRacket


    I'm trying to create a procedure that finds the min number from the keyboard until 0 is read. Using "display" and "read". Note that 0 is included in the computation.

    Any tips, pointer or solutions would be awesome.

    Thanks.

    \
  2. #2
  3. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Nov 2012
    Posts
    3
    Rep Power
    0
    Code:
    (define (minimum-list x) 
    (cond [(empty? (rest x)) (first x)] 
    [else (min (first x) (minimum-list (rest x)))]))
    
     (display (minimum-list (read)))
    I have this so far, but I need to be able to enter numbers without having to use paranthesis... With this code, it works, but I need to write it with paranthesis for ex. (1 3 -3).. I need it 1 3 -3


    Any help would be awesome :/
  4. #3
  5. Commie Mutant Traitor
    Devshed Intermediate (1500 - 1999 posts)

    Join Date
    Jun 2004
    Location
    Alpharetta, GA
    Posts
    1,806
    Rep Power
    1570
    If you look into the Racket Documentation, you'll find the section on Ports, and specifically, the port->list procedure:
    Code:
    #lang racket
    
    (require racket/port)
    
    (define (minimum-list x) 
      (cond [(empty? (rest x)) (first x)] 
            [else (min (first x) (minimum-list (rest x)))]))
    
    (display (minimum-list (port->list)))
    Mind you, this probably still doesn't do quite what you want; you need to hit enter after each number, and at the end of the numbers, hit the EOF button on the end of the entry box. It is designed mainly for reading files, so using it from the listener is something of a kludge.

    As an alternative, you could use port->string and string-split parse the numbers individually, but that's a good deal more work.

    This is assuming you are using the Racket language, rather than, say, R6RS Scheme. Most of the different Scheme variants have similar procedures, however.
    Last edited by Schol-R-LEA; November 7th, 2012 at 07:57 PM.
    Rev First Speaker Schol-R-LEA;2 JAM LCF ELF KoR KCO BiWM TGIF
    #define KINSEY (rand() % 7) λ Scheme is the Red Pill
    Scheme in Short Understanding the C/C++ Preprocessor
    Taming Python A Highly Opinionated Review of Programming Languages for the Novice, v1.1

    FOR SALE: One ShapeSystem 2300 CMD, extensively modified for human use. Includes s/w for anthro, transgender, sex-appeal enhance, & Gillian Anderson and Jason D. Poit clone forms. Some wear. $4500 obo. tverres@et.ins.gov
  6. #4
  7. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Nov 2012
    Posts
    3
    Rep Power
    0
    Wow thank you. It works that way! Not exactly what I wanted but it does the trick. Thank you.

IMN logo majestic logo threadwatch logo seochat tools logo