Re: scramble sentence, how to better program?
by Globalrev other posts by this author
May 8 2008 2:35PM messages near this date
Re: scramble sentence, how to better program?
|
Re: scramble sentence, how to better program?
On 8 Maj, 22:12, "David A. Black" <dbl...@[...].com> wrote:
> Hi --
>
>
>
> On Fri, 9 May 2008, globalrev wrote:
> > i have written a program that takes a sentence as input and outputs
> > the sentence with the words rearranged.
> > it is probably inefficient and can probably be done with less code.
> > it is also nondeterministic( while (inList(temp,scr)) could go on
> > for a long time if the user is unlucky) and im not sure how to get
> > around that or if it is even possible.
> > also, if there is 2 identical words in the sentence, lets say "the" is
> > in there twice, it will loop forever. i could do
> > .uniq in the beginning but lets say i want both "the" to be in there.
> > i have to write some if duplicate then ok up to nbrofduplicates. is
> > there an easy way to do this?
>
> > #scrambler
> > puts "Enter a sentence: "
> > sentence = gets
> > list = sentence.split()
> > scr = []
>
> > def inList(aword,alist)
> > inl=false
> > for i in (0..alist.length()-1)
> > if alist[i] == aword
> > inl=true
> > end
> > end
> > return inl
> > end
>
> Much easier:
>
> def in_list?(aword, alist)
> alist.include?(word)
> end
>
> which means you don't really need your own method; you can just call
> include? on your list.
>
> > for x in (0..list.length()-1)
> > temp = list[rand(list.length())]
> > while (inList(temp,scr))
> > temp = list[rand(list.length())]
> > end
> > scr = scr + temp.split()
> > end
>
> Please lose the ()'s. They don't do anything or add any information;
> they're just visual clutter. Meanwhile, see below....
>
> > puts "Scrambled: "
> > puts scr
>
> In general, you're working much too hard :-) Let Ruby do it for you:
>
> print "Enter a sentence: "
> puts gets.split.sort_by { rand }.join(" ")
>
> David
>
> --
> Rails training from David A. Black and Ruby Power and Light:
> INTRO TO RAILS June 9-12 Berlin
> ADVANCING WITH RAILS June 16-19 Berlin
> INTRO TO RAILS June 24-27 London (Skills Matter)
> Seehttp://www.rubypal.comfor details and updates!
rofl aamazing, ty very much :)
had a feeling i was complicating things.
does it work as well for building bigger applications(not just
webapps), like building an editor like emacs. is the language as
suitable for that?
i know executionspeed is the issue with ruby and python but thats not
really an issue and will be even less of one in the future i guess.
must be some tradeoff no?
anyway ty for the help, the rubycommunity seems very nice and helpful!
Thread:
Globalrev
David A. Black
S2
S2
Globalrev
S2
7stud --
David A. Black
Rob Biedenharn
S2
S2
|