$ ruby -I /the/path/you/wanna/add test.rb それか PATH に直接追加してしまうか。 $ export RUBYLIB=/the/path/you/wanna/add $ ruby test.rb もしくは、ruby スクリプト中で $LOAD_PATH.push('/path/to/dir') で追加できる。
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
「require 使いたいライブラリのファイル名」 大抵のプログラミング言語では、別々のファイルに分割されたプログラムを組み合わせて、一つのプログラムとして利用する機能を持っています。 他のプログラムから読み込んで利用するプログラムを「ライブラリ」と言います。 このライブラリを読み込むには、requireメソッドを使用します。 open文 URLにアクセスし、 URLを開く charsetメソッド 対象サイトの文字種別(utf-8)を取得 readメソッド 対象サイトのhtmlを読み込む(open文によってURLを開き、htmlを読み込む) doc = Nokogiri::HTML.parse(html, nil, charset) は基本的に謎。 p doc.titleでtitle取得 スクレイピングを用いて理解する。(ここが理解できればサイト完成に近づく!) # URLにアクセスする為
前回エントリと似たような雰囲気を感じる、変な事態になりました gemでインストールは出来ているようなのですが、いざrequireしたときに読み込み先が違っているため、エラーがでました。 MacPortsを入れたり色々したのが原因…?のようです。 参考にさせて頂いたのはこちら「おぼえがき:rubygemsが見つからない?」 エラー文に書かれているパスと gem envコマンドで確認したときに出てくるライブラリのパスが違っていました。 そのため、 .bashrcに読み込み先を記述しておきます。 export GEM_HOME=/opt/local/lib/ruby/gems/1.8 export RUBYLIB=/opt/local/lib/ruby/gems/1.8 export PATH=$PATH:/var/lib/gems/1.8/bin参考サイトを参考に以上のようにしました。 忘れず
以下のようなディレクトリ構造でソースファイルが配置されているとする。 ここでhoge.rbからlib/piyo.rbをrequireする場合を考える。 hoge.rblibpiyo.rbRubyで相対パスのファイルをrequireする場合、以下のイディオムが良く用いられる。 File.expand_path()は、第2引数のパスを起点に、第1引数のパスを、フルパスに展開するメソッドだ。 __FILE__にはそのファイルのパスが入っているが、これは絶対パスとは限らない。 そこで、File.expand_path()の第2引数にこれを指定し、第1引数にそのファイルからの相対パスを書くことで、目的のファイルの絶対パスが得られる。 なおRuby 1.9以降であれば、require_relativeを使えば、相対パスで目的のファイルを簡単にrequireすることができるようになった。
記事タイトルがヘタなので、何言ってるのか伝わらなさそうだけど…。最近、Ruby 1.8.7で作ったWebアプリをRuby 1.9.2に移行させていて、その過程でつまずいて知ったことについて。Ruby 1.9.2からは、ロードパスにカレントディレクトリが含まれなくなったので、それによって起こるエラーを回避するための方法として、requireするパスにカレントディレクトリを示すドットを打つと良さそうという話。 実例 以下は説明用に簡略化した実例。まず、hoge.rbがあるとする。中身はこんな感じ。 puts 'hoge!' 同じディレクトリにapp.rbがあるとする。中身はこんな感じ。 require 'hoge.rb' app.rbを実行すると、Ruby 1.8.7ではこう。期待通り。 $ ruby app.rb hoge! けど、Ruby 1.9.2ではロードパスにカレントディレクトリが含
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く