From: WATANABE Tetsuya Date: 2002-10-01T11:15:08+09:00 Subject: [ruby-dev:18422] Re: rubicon on EWS4800 渡辺哲也です。 なかださんパッチの場合、動作としてまだ解消しきれ ていない部分があるようです。 長いメールですが、確認よろしくお願いします。 In message "[ruby-dev:18421] Re: rubicon on EWS4800" on 02/10/01, WATANABE Tetsuya さん writes: |実行結果もちょっとまずいところがあるようです。 確認に使用したスクリプト ------------------------------------------------------------ #! /usr/local/bin/ruby # /home/tetsu/src/ruby/ck/seek/ck4.rb # Created: May 23,2002 Thursday 15:10:04 # Author: tetsu(WATANABE Tetsuya) # $Id$ # usage: file = 'sample.txt' str = '0123456789' * 5 w = File.open(file, 'w+') 10.times do w.puts str str.concat(str[0]) str[0, 1] = '' end w.rewind while w.gets print end puts '--------------------0' w.rewind while w.gets if ~/^4/ w.pos -= $_.size w.print 'X' end end w.rewind while w.gets print end puts '--------------------1' w.rewind while w.gets if ~/^X/ w.print 'Y' end end w.rewind while w.gets print end puts '--------------------2' w.rewind while c = w.getc if c == 0xa else # w.pos += 0 w.print '.' end end w.rewind while w.gets print end puts '--------------------3' w.rewind while c = w.getc if c == 0xa else # w.pos += 0 w.print '+' end end w.rewind while w.gets print end puts '--------------------4' w.rewind while c = w.getc if c == 0xa else w.pos -= 1 w.print '-' end end w.rewind while w.gets print end puts '--------------------5' w.rewind while c = w.getc if c == 0xa else w.pos -= 1 w.print 'jj' end end w.rewind while w.gets print end puts '--------------------6' w.close ------------------------------------------------------------ 期待した実行結果(Linux や HP-UX 上での渡辺パッチの結果) ------------------------------------------------------------ 01234567890123456789012345678901234567890123456789 12345678901234567890123456789012345678901234567890 23456789012345678901234567890123456789012345678901 34567890123456789012345678901234567890123456789012 45678901234567890123456789012345678901234567890123 56789012345678901234567890123456789012345678901234 67890123456789012345678901234567890123456789012345 78901234567890123456789012345678901234567890123456 89012345678901234567890123456789012345678901234567 90123456789012345678901234567890123456789012345678 --------------------0 01234567890123456789012345678901234567890123456789 12345678901234567890123456789012345678901234567890 23456789012345678901234567890123456789012345678901 34567890123456789012345678901234567890123456789012 X5678901234567890123456789012345678901234567890123 56789012345678901234567890123456789012345678901234 67890123456789012345678901234567890123456789012345 78901234567890123456789012345678901234567890123456 89012345678901234567890123456789012345678901234567 90123456789012345678901234567890123456789012345678 --------------------1 01234567890123456789012345678901234567890123456789 12345678901234567890123456789012345678901234567890 23456789012345678901234567890123456789012345678901 34567890123456789012345678901234567890123456789012 X5678901234567890123456789012345678901234567890123 Y6789012345678901234567890123456789012345678901234 67890123456789012345678901234567890123456789012345 78901234567890123456789012345678901234567890123456 89012345678901234567890123456789012345678901234567 90123456789012345678901234567890123456789012345678 --------------------2 0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8. 1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9. 2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0. 3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1. X.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2. Y.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3. 6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4. 7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5. 8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6. 9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7. --------------------3 0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+ 1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+ 2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+ 3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+ X+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+ Y+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+ 6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+ 7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+ 8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+ 9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+ --------------------4 -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------5 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj --------------------6 ------------------------------------------------------------ なかださんパッチ実施の実行結果 ------------------------------------------------------------ 01234567890123456789012345678901234567890123456789 12345678901234567890123456789012345678901234567890 23456789012345678901234567890123456789012345678901 34567890123456789012345678901234567890123456789012 45678901234567890123456789012345678901234567890123 56789012345678901234567890123456789012345678901234 67890123456789012345678901234567890123456789012345 78901234567890123456789012345678901234567890123456 89012345678901234567890123456789012345678901234567 90123456789012345678901234567890123456789012345678 --------------------0 01234567890123456789012345678901234567890123456789 12345678901234567890123456789012345678901234567890 23456789012345678901234567890123456789012345678901 34567890123456789012345678901234567890123456789012 X5678901234567890123456789012345678901234567890123 56789012345678901234567890123456789012345678901234 67890123456789012345678901234567890123456789012345 78901234567890123456789012345678901234567890123456 89012345678901234567890123456789012345678901234567 90123456789012345678901234567890123456789012345678 --------------------1 01234567890123456789012345678901234567890123456789 12345678901234567890123456789012345678901234567890 23456789012345678901234567890123456789012345678901 34567890123456789012345678901234567890123456789012 X5678901234567890123456789012345678901234567890123 Y6789012345678901234567890123456789012345678901234 67890123456789012345678901234567890123456789012345 78901234567890123456789012345678901234567890123456 89012345678901234567890123456789012345678901234567 90123456789012345678901234567890123456789012345678 --------------------2 01234567890123456789012345678901234567890123456789 12345678901234567890123456789012345678901234567890 23456789012345678901234567890123456789012345678901 34567890123456789012345678901234567890123456789012 X5678901234567890123456789012345678901234567890123 Y6789012345678901234567890123456789012345678901234 67890123456789012345678901234567890123456789012345 78901234567890123456789012345678901234567890123456 89012345678901234567890123456789012345678901234567 90123456789012345678901234567890123456789012345678 0.--------------------3 01234567890123456789012345678901234567890123456789 12345678901234567890123456789012345678901234567890 23456789012345678901234567890123456789012345678901 34567890123456789012345678901234567890123456789012 X5678901234567890123456789012345678901234567890123 Y6789012345678901234567890123456789012345678901234 67890123456789012345678901234567890123456789012345 78901234567890123456789012345678901234567890123456 89012345678901234567890123456789012345678901234567 90123456789012345678901234567890123456789012345678 0.0+--------------------4 -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------------------------5 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjj--------------------6 ------------------------------------------------------------