たのしいRuby 第6版 シン・正誤表

Ruby

もう一度しっかりとRuby言語の基礎を学習しようと、一度は投げ出したたのしいRuby 第6版を引っ張り出してきて学習しました。

その学習中に気がついた、公式の正誤表には記載されていないエラー?を紹介したいと思います。

ちなみに、公式の正誤表はこちらです。

そのエラーとは、とあるコードを入力すると文字化けになってしまうのです。

出版元には連絡済ですが、まだ確認されていないのか、はたまた私の勘違いのせいかもしれず、更新はされておりません。

いずれは、Ruby3.0に対応した第7版が出版されることと思いますが、私のようにいまだに第6版で学習される初学者がいるかと思います。

そんな同士のための参考になればと思い記事に残させていただきます。

第22章 テキスト処理を行う

p.458 List 22.1 get_akage.rb 4行目

# (誤)?

File.open(filename, "wb:UTF-8") do |f|
...
...
end

私の場合、テキスト通りのコードでテキストファイルを読み込むと、文字化けになってしまいました。

そこで、上記のコードを下記に修正を加えました。

# Shift_JISを追加した

File.open(filename, "wb:Shift_JIS:UTF-8") do |f|

これで、ひとまず文字化けせずにファイルを読み込むことができるようになりました。

p.461 List 22.3 cut_akage2.rb 5行目

解決したかと思いきや、今度は、読み込みファイルでエラーが出るようになってしましました。

# テキスト
html = File.read(htmlfile, encoding: "UTF-8")

# 下記に修正
html = File.read(htmlfile, encoding: "sjis:UTF-8")

Shift_JISで指定してあげると、エラーは解決しました。

まとめ

私の環境のせいの気もしますが、同じエラーが出て、投げ出してしまう人がいるかもしれません。

そんな人が私のこの記事を見つけてもらって、勉強の継続になればと思います。

一緒に頑張りましょう!

広告

もふぃ
もふぃ

ブログ記事の応援もよろしくお願いします!

もふぃ
もふぃ

この記事がおもしろかったよ!参考になったよ!と言う方は、購入しなくてもいいので、ワンクリックだけでもよろしくお願いします!

ブログ記事を書く励みになります!

タイトルとURLをコピーしました