2022年4月22日金曜日

Ruby3 以降では open-uri は URI.open を使用する必要がある

Ruby3 以降では open-uri は URI.open を使用する必要がある

概要

タイトルの通りです
open は Kernel.open でローカルファイルを開くのに使います
外部の URL を開く場合は URI.open を使います

サンプルコード

require 'open-uri'

open('https://hawksnowlog.blogspot.com/')

Ruby3 だと以下のエラーになるので

app.rb:3:in `initialize': No such file or directory @ rb_sysopen - https://hawksnowlog.blogspot.com/ (Errno::ENOENT)

以下のように書き換える

require 'open-uri'

URI.open('https://hawksnowlog.blogspot.com/')

ちなみに Ruby 2.6.5 だと当初の書き方でも動作する

参考サイト

0 件のコメント:

コメントを投稿