Memoize |
BasicWerk
EC Support
Technique
Facebook
|
20140815223707_ruby_file_open |
|
ruby_file_open
File::open はブロック内でコードの実行が完了すると自動的に close してくれる(lisp 的に言うと with ブロック)。 ブロックのはじめで {|fh| ... } のようにシンボルを置くと、open したストリームをバインドしてくれる(Factor のレキシカル変数みたいだ)。
% cat sample.txt
aaa
bbb
ccc
% cat read.rb
#! /usr/bin/ruby
# coding: utf-8
file = ARGV[0]
File::open(file){|fh|
while line = fh.gets
puts line
end
}
% read.rb sample.txt
aaa
bbb
ccc
http://www2.atwiki.jp/kmo2/pages/16.html
|
| © Shin Nakamura/BasicWerk 2014 |