X-Git-Url: https://jxself.org/git/?p=mudsync.git;a=blobdiff_plain;f=mudsync%2Froom.scm;fp=mudsync%2Froom.scm;h=877e2fa564589cff7a2ae5bf4353f618b1a82bc6;hp=8dc1d847fa6637d654eb4e729a62486382e9c00e;hb=e01e22fd4d31717292d3ff169b6489f1d8967d86;hpb=6212897253ee040f58bf1351dabd1b2a3f3e1b75 diff --git a/mudsync/room.scm b/mudsync/room.scm index 8dc1d84..877e2fa 100644 --- a/mudsync/room.scm +++ b/mudsync/room.scm @@ -134,23 +134,6 @@ ;;; look commands -(define (list-words-as-string words) - "A little utility for listing a bunch of words in an English-style list" - ;; TODO: This could be made faster by traversing the O(n) - ;; list once, not twice - (let ((word-length (length words))) - (cond - ((eqv? word-length 0) "") - ((eqv? word-length 1) (car words)) - (else - ;; TODO: and this is NOT efficient - (string-append - (string-join - (drop-right words 1) - ", ") - " and " - (last words)))))) - (define (room-player-looks-around room player-id) "Handle looking around the room" ;; Get the room text @@ -180,7 +163,8 @@ (if (eq? occupant-names-filtered '()) #f (format #f "You see here: ~a.\n" - (list-words-as-string occupant-names-filtered)))) + (string-join occupant-names-filtered + ", ")))) (define final-text (if occupant-names-string