如何正确从函数返回值?

鲍勃·史密斯

我试图通过从“容量”中减去“入学人数”,然后在单独的函数中打印结果,来计算每个班级剩余的席位。但是,除非使用显示功能,否则我的座椅功能不会返回任何值。我怎样才能解决这个问题?

    #lang racket
       ( define course-list (cons '("Dept" "Number" "Section" "Class Nbr" "Capacity" "Enrollment")
                                         '(("CMSC" "201" "1" "1052" 100 30)
                                         ("CMSC" "341" "6" "7447" 40 27)
                                         ("CMSC" "341" "3" "7443" "40" 29)
                                         ("CMSC" "331" "5" "7746" 40 36)
                                         ("CMSC" "331" "6" "7747" 40 "40")
                                         ("CMSC" "471" "3" "8196" 40 31))

                                  )
            )

   (define (open-seats section)
      (for ([e (in-list  course-list)])
        (if (equal? section (string->number (list-ref e 2))) (- (list-ref e 4) (list-ref e 5)) 'something)
       ;(if (equal? section (string->number (list-ref e 2))) (display(- (list-ref e 4) (list-ref e 5))) 'something)
            )
        )
  ;test open-seats          
     (open-seats 1)

  (define (report-open-seats list-of-courses)
    (for ([e (in-list course-list)])
      (if (and (number? (list-ref e 4)) (number? (list-ref e 5))) (displayln(string-append (list-ref e 0) (list-ref e 1) " (Section " (list-ref e 2) ")=> " (open-seats 1))) newline)
            )
   )

  ; leave the following function call intact
  ;(report-open-seats course-list)
雨1

要组成项目列表,您可以像这样使用/列出

(define (open-seats section)
  (for/list ([e (in-list  course-list)]
             #:when (equal? section (string->number (list-ref e 2))))
    (- (list-ref e 4) (list-ref e 5))))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章