我目前正在研究Scheme,以及我瞭解它的方式,過程可以採用任意數量的參數。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!
任何幫助,不勝感激!
這可以指定不帶參數的任意數量。 – Zelphir
我不打算讓它取任意數量的參數;如果你需要的話,你可以編寫'(define(welcome#:first first-name#:last last-name。rest-args)...)' –