Class: FortranSequentialWriter
Constant Summary
FortranSequential::ENDIAN, FortranSequential::FMT_NET, FortranSequential::FMT_VAX
Instance Method Summary
collapse
#eof?, #get_pack_fmt, open
Constructor Details
Returns a new instance of FortranSequentialWriter.
310
311
312
313
314
|
# File 'ext/fortio/lib/fortio/fortran_sequential.rb', line 310
def initialize (io, opt={:endian=>nil})
@io = io
@endian = opt[:endian] || ENDIAN
@fmt = get_pack_fmt(@endian)
end
|
Instance Method Details
#close ⇒ Object
337
338
339
|
# File 'ext/fortio/lib/fortio/fortran_sequential.rb', line 337
def close
@io.close
end
|
#record ⇒ Object
316
317
318
319
320
321
322
323
|
# File 'ext/fortio/lib/fortio/fortran_sequential.rb', line 316
def record
rec = FortranSequential::Record.new("", @endian, @fmt)
if block_given?
return yield(rec)
else
return rec
end
end
|
#write(data) ⇒ Object
325
326
327
328
329
330
331
332
333
334
335
|
# File 'ext/fortio/lib/fortio/fortran_sequential.rb', line 325
def write (data)
if data.respond_to?(:to_s)
data = data.to_s
end
if RUBY_VERSION.to_f >= 1.9
data = data.force_encoding("ASCII-8BIT")
end
@io.write [data.length].pack(@fmt["l"])
@io.write data
@io.write [data.length].pack(@fmt["l"])
end
|