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)
[ツッコミを入れる]