On Tue, Apr 22, 2008 at 4:17 PM, Tim Wolak <twolak / sktydev.com> wrote:
> Morning all,
>
>  I sent an email on this yesterday and needed to give you guys some examp=
le
>  code.  Below is some code I have for grabbing the numbers I need from li=
nes
>  in a text file that we receive via FTP.  My big concern is the negative
>  numbers for accounts which are indicated by a position in the file where=
 0
>  is a postive number and =AD is a negative number. What is the best way t=
o get
>  my account balance and make it a negative number?  I=B9m not sure I=B9m =
doing it
>  the correct way in this script.

what about:

>  class Info
>   attr_reader :acct, :money
>
>   def initialize(filename)
>     @acct =3D File.new(filename, "r")
>   end
>     f =3D Info.new("Balances20080415.txt")
>       act =3D f.acct
>         act.each do |list|
>           #covert me to a string
>         futbal =3D list.to_s
>         #Pull accounts
>         office =3D futbal[22..24]
>         if office =3D=3D "RPT"
>           next
>         else
>           acctnum =3D futbal[24..28]
>         end
>         #Pull Liquidating values
>           lv =3D futbal[217..231]
>         #Pull LV Indicator
            is_negative =3D futbal[215..215] =3D=3D '-'
            value =3D lv.to_f/1000
            value =3D -value if is_negative
            puts acctnum," ",value
>  end

or (though not very readable)

value =3D futbal[217..231].to_f / ((futbal[215..215] =3D=3D '-') ? -1000 : =
1000)

or a bit better:

value =3D futbal[217..231].to_f / 1000 * ((futbal[215..215] =3D=3D '-') ? -=
1 : 1)