2014-07-02 :-(
_ 午後
1300 調査
_ [RFC][ruby]RFC を表示する
書いてみたけど、CUI じゃないと息が出来ない病でもない限り RFC日本語版リスト で事足りた。
# coding: utf-8
require 'open-uri'
class RFCView
def initialize()
@rfcs = setup()
end
def setup()
nums = {
768 => 'UDP',
783 => 'TFTP',
791 => 'IP',
792 => 'ICMP',
793 => 'TCP',
826 => 'ARP',
854 => 'Telnet',
894 => 'IP over Ethernet',
903 => 'RARP',
959 => 'FTP',
}
return nums
end
def read(name)
num = what(name)
rfc = get(num)
pager = ENV['PAGER'] || 'more'
cmd = "#{pager} #{rfc}"
# ファイル書き込み完了してないとかあるのか?
sleep 1
unless system(cmd)
puts $?
end
end
def what(name)
name.upcase!()
@rfcs.each {|num, desc|
return num if desc.include?(name)
}
puts "no such RFC"
exit()
return 1
end
def get(rfc_num)
file_name = "rfc#{rfc_num}.txt"
return file_name if File.exist?(file_name)
base_uri = 'http://www.rfc-editor.org/rfc'
uri = "#{base_uri}/#{file_name}"
open(uri) {|src|
text = src.read
File.open(file_name, "w").write(text)
}
return file_name
end
end
def main(argv)
rfc_view = RFCView.new()
rfc_view.read( argv[0] )
end
main(ARGV)
[ツッコミを入れる]






