【发布时间】:2016-08-23 04:52:04
【问题描述】:
我目前正在研究 Scheme,按照我的理解,过程可以采用任意数量的参数。
我一直在尝试解决这个问题,但我很难掌握这个概念。
例如,假设我想根据用户提供的信息编写欢迎消息。
如果用户提供了名字和姓氏,程序喊写:
Welcome, <FIRST> <LAST>!
;; <FIRST> = "Julius", <LAST>= "Caesar"
Welcome, Julius Caesar!
否则,程序应该引用一个默认值,指定为:
Welcome, Anonymous Person!
我的代码有以下大纲,但正在努力完成它。
(define (welcome . args)
(let (('first <user_first>/"Anonymous")
('last <user_last>/"Person"))
(display (string-append "Welcome, " first " " last "!"))))
示例用法:
(welcome) ;;no arguments
--> Welcome, Anonymous Person!
(welcome 'first "John") ;;one argument
--> Welcome, John Person!
(welcome 'first "John" 'last "Doe") ;;two arguments
--> Welcome, John Doe!
非常感谢任何帮助!
【问题讨论】:
标签: arguments scheme racket optional-parameters