読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

"string contains null byte (ArgumentError)"と出たら、ヌル文字が入ってるので消す

たとえば、シリアルポートから数値をゲットしようとすると

hoge.rb:32:in `system': string contains null byte (ArgumentError)

てな感じでエラーを吐いて止まる事があります。
ヌル文字は"/000"とにして認識されており、表示はされませんが文字列に格納されています。
これを消すには

str.delete(/¥000/)

と、String#deteleメソッドを使ってあげればよいです。