http://www.perlmonks.org?node_id=589384


in reply to Five Ways to Reverse a String of Words (C#, Perl 5, Perl 6, Ruby, Haskell)

Fun thread! Here it is in R :
reverseWords <- function(words) { return( sort( words, decreasing=TRUE)) }

Updated:

Fixed now. Thanks to jdporter for catching a goof.

reverseWords <- function(words) { return( paste( rev( unlist( strsplit( words, split=" "))), sep=" ", +collapse=" ")) }

Replies are listed 'Best First'.
Re^2: Five Ways to Reverse a String of Words (C#, Perl 5, Perl6, Ruby, Haskell)
by jdporter (Paladin) on Dec 12, 2006 at 21:16 UTC

    I don't know R... but, to my naive eye, that looks like it does neither the split nor the join. Is R one of those shell-like languages which implement lists as strings?

    We're building the house of the future together.
      Dang it. No, it's not.

      This isn't a problem with R, it is a problem with me not thinking. Not only did I forget the split/join, the sort function I originally used only worked because my test case happened to be in alphabetical order. I have updated the original post with functioning code.

      My apologies to all of you who incorporated the broken code into your mission-critical systems.

      Is R one of those shell-like languages which implement lists as strings?

      No.

      I don't know R... but, to my naive eye, that looks like it does neither the split nor the join.

      You're right. The function posted above fails because it doesn't do the split or the join. R is lovely for statistics, but it's clumsy with text, despite efforts to implement Perl-like regex capabilities.