From: Tanaka Akira Date: 2006-09-01T07:06:58+09:00 Subject: [ruby-dev:29368] File.read produces \0 as the first byte. File.read で /proc/self/status を読んだときに、最初のバイト が \0 になります。 % ./ruby -ve 'p File.read("/proc/self/status")' ruby 1.9.0 (2006-08-31) [i686-linux] "\000ame:\truby\nState:\tR (running)\nSleepAVG:\t88%\nTgid:\t20549\nPid:\t20549\nPPid:\t10271\nTracerPid:\t0\nUid:\t1000\t1000\t1000\t1000\nGid:\t1000\t1000\t1000\t1000\nFDSize:\t32\nGroups:\t20 24 25 29 44 46 1000 \nVmPeak:\t 3220 kB\nVmSize:\t 3220 kB\nVmLck:\t 0 kB\nVmHWM:\t 1488 kB\nVmRSS:\t 1488 kB\nVmData:\t 752 kB\nVmStk:\t 84 kB\nVmExe:\t 848 kB\nVmLib:\t 1464 kB\nVmPTE:\t 12 kB\nThreads:\t1\nSigQ:\t0/4294967295\nSigPnd:\t0000000000000000\nShdPnd:\t0000000000000000\nSigBlk:\t0000000000000000\nSigIgn:\t0000000000000000\nSigCgt:\t0000000000003a07\nCapInh:\t0000000000000000\nCapPrm:\t0000000000000000\nCapEff:\t0000000000000000\n" gets で読むとそうはなりません。 % ./ruby -e 'open("/proc/self/status") {|f| p f.gets }' "Name:\truby\n" -- [田中 哲][たなか あきら][Tanaka Akira]