Language S-Plus
(S (R, S-Plus) version, no explicit loops)
Date: | 10/05/05 |
Author: | Giovanni Millo |
URL: | n/a |
Comments: | 0 |
Info: | http://www.insightful.com, http://www.r-project.org |
Score: | (2.95 in 20 votes) |
# 99 bottles of beer, S (R, S-Plus) version. # Demonstrates inherent vectorization of S. # Creates the correct lyrics, not as in the # original BASIC example. # Works for any n>2, default n=99. # # Giovanni Millo, Trieste (Italy) 4/10/2005 ########################### song<-function(n=99) { a<-" bottle" b<-" of beer on the wall, " c<-" of beer. " d<-"Take one down and pass it around: " # ## set "beer counter" vector counter<-c(as.character(n:1),"No more") # ## set plural s<-ifelse(counter=="1","","s") # ## build up the verses vector firsthalf<-paste(counter,a,s,b,counter,a,s,c,sep="") sechalf1.99<-paste(d,counter[-1],a,s[-1],b,sep="") sechalf100<-paste("Go to the store and buy some more: ", counter[1],a,"s",b,sep="") ## ## song is the vector of n+1 complete verses song<-paste(firsthalf,c(sechalf1.99,sechalf100),sep="") } print(song)
Download Source | Write Comment
Download Source | Write Comment
Add Comment
Please provide a value for the fields Name,
Comment and Security Code.
This is a gravatar-friendly website.
E-mail addresses will never be shown.
Enter your e-mail address to use your gravatar.
Please don't post large portions of code here! Use the form to submit new examples or updates instead!
Comments