On Jul 28, 10:38 ¨Âí¬ ¢Íéãèáåì ×® Òùäåò¢ ¼ßí÷òù®®®À÷ïòìäîåô®áôô®îåôwrote:
> RichardOnRails wrote:
> > On Jul 28, 5:52 pm, RichardOnRails
> > <RichardDummyMailbox58... / USComputerGurus.com> wrote:
> >> On Jul 28, 3:34 pm, "Michael W. Ryder" <_mwry... / worldnet.att.net>
> >> wrote:
>
> >>> RichardOnRails wrote:
> >>>> On Jul 27, 12:36 pm, Prateek Agarwal <prateek.a... / gmail.com> wrote:
> >>>>> I am new to Ruby and am still learning some of the basic stuff.
> >>>>> What's the method name for the Power operation(as in 'a' to the power
> >>>>> 'b')?
> >>>>> --
> >>>>> Posted viahttp://www.ruby-forum.com/.
> >>>> Whoops.  ¨Â æïòçïô ôï ðáóôéî ôèðòïçòá¨óïòòù©¬  ¨Âèéãè æïììï÷óº
> >>>> =begin  Note this comments out all lines until the3Dend
> >>>> def power(a,b)
> >>>> result=a**b # "a" should be "a.chomp.to_1"; ditto "b";
> >>>> # the "chomp" removes the newline which the user presses
> >>>> # "result" is unnecessary
> >>>> result.to_i # does nothing
> >>>> return result # unnecessary:
> >>>> # Since we've eliminated everything else, the method
> >>>> # has only one statement, i.e. the expression
> >>>> # a ** b with the replacements suggestedbove
> >>>> # Ruby returns the last statement's value
> >>>> end
> >>>> puts "a=" # use printf rather than puts (which appends a newline)
> >>>> a=gets
> >>>> a.to_i  does nothing; "a" does not get change, and the
> >>>> result
> >>>> # is discarded
> >>>> puts "b=" # same as "a"
> >>>> b=gets
> >>>> b.to_i # ditto as for "a"
> >>>> c=power(a,b)  numeric result assigned to c, probably an integer but
> >>>> # not necessarily
> >>>> puts "c=#{c}" # These final two lines might be more elegantly
> >>>> # written in Ruby as suggested below
> >>>> =end
> >>>> # The result of all these changes are the following 8 lines
> >>>> # (plus blank lines); save them, say, as: Test.rb
> >>>> # and run them as:  ¨ÂõâÔåóô®ò> >>>> def power(a,b)
> >>>> a.chomp.to_i**b.chomp.to_i
> >>>> end
> >>>> printf "a="
> >>>> a = gets
> >>>> print "b="
> >>>> b = gets
> >>>> puts "%d**%d = %d" % [a, b, power(a,b)]
> >>> As an "improvement" to your code I would take the chomp and to_i out of
> >>> the power function to make it more generic and add them after the gets.
> >> Hi Michael,
>
> >> Your point is well taken.
>
> >> I did that for a newbie to point the stuff that's needs to be done to
> >> get things working as he intends.  ¨Âå§îïìéëåìù ôï ìïïë õð ¢ôïßé¢
> >> to learn all its machinations.
>
> >> In fact, there's one more that I would have thrown in, had I
> >> remembered it: strip.
>
> >> I do that in string-handlers I write:
> >> 1. in part, to remind myself what to_i would do for me automatically
> >> 2. in part, to guarantee that that stuff gets done even if new
> >> versions of Ruby eliminate some helpful feature.
> >> 3. in part, because I might decide to extend a program using the input
> >> string as though it contained only the digits that to_i revealed,
> >> forgetting that a lot of "baggage" had been removed.
>
> >> Perhaps having taught Computer Technology at AU in DC for a decade
> >> gives me a different perspective than production program with a lean-
> >> and-mean code perspective.
>
> >> Do I make any sense?
>
> >> Best wishes,
> >> Richard
>
> > Hey Michael,
>
> > After posting my reply to you,  ¨Â òå­òåáùïðïóô áîòåáìéúåä > > misinterpreted it.  ¨Â æáöïðõôôéîáìôèáô âáççáçéî ôèÏЧó
> > "power" routine rather than having to remember that stuff when writing
> > each invocation of "power".
>
> > Does that make any sense?
>
> > Best wishes,
> > Richard
>
> The reason I stripped out the conversions from the power function is to
> allow its use with either integers or floats.  ¨Âìõðòåæåò ôï ãïîöåò> input to it's desired form as soon as possible, rather than having to
> remember to convert it everywhere it is used.  ¨Âéó áî éîôåçåôèåò> is no need to store it as a string with \n on the end and then having to
> remember to chomp and to_i it everywhere you need it.  ¨Âèáéæ ôèÏÐ
> wanted to use a and b later such as showing the power of a and b and
> then the power of a+1 and b+1?  ¨Â÷ïõìèáöå ôï áçáéãèïíôè> variables and convert them to integers, add one to each, then convert
> them back to strings before feeding them to the power function.

Good points, Michael.

Let's hope the OP learned something from all of this.

Best wishes,
Richard