• ベストアンサー

;nilの意味

現在Rubyを勉強しています。 いくつかのサイトのソースコードを見てみると行の末尾に;nilと書いてあるコードを見ます。 これは何を意味するのでしょうか? 例えば下記のような感じです。 agent.get('http://www.abc.com');nil セミコロンは改行と同じなので、単にnilと書いてあるのと同じ?nilだけ書いても何も起こらないのでは??

質問者が選んだベストアンサー

  • ベストアンサー
  • ki073
  • ベストアンサー率77% (491/634)
回答No.2

こういう書き方はあまり見たことがないですが、どこに書いてありますか? ただし irbを使っているときに、表示される出力を抑えるために同じような書き方をすることがあります。 agent.get('http://www.abc.com') とだけすると、その出力がそのまま画面に表示されますが、;nilをするとnilしか出力されませんので、

carcl
質問者

お礼

irbで出力を抑えるためだったんですね! このような書き方は個人のサイトに記載されていました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

ki073とほぼ同じ回答になってしまいますが 何らかの理由で返り値としてnilを返したいからだと思います irb上で使っている場合はディスプレイへの出力を抑えたいから 関数内部の場合は、返り値をnilにしたいカラダと思います

carcl
質問者

お礼

irbで出力を抑えるためだったんですね! 理解しました。

全文を見る
すると、全ての回答が全文表示されます。
  • notnot
  • ベストアンサー率47% (4856/10272)
回答No.1

これだけの情報では何とも言えません。前後がないと。 この行単独では、 ;nil は無意味です。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • サクラエディタの正規表現での置換

    サクラエディタの正規表現での置換の方法について教えて下さい。 行の末尾が数字で終わらない行の改行コードを削除したいと考えています。 ---------- 元ファイル ---------- 000abc123 777def 456 333ghi789 222jk+ 111 ---------- ---------- 加工後 ---------- 000abc123 777def456 333ghi789 222jk+111 ---------- 「置換前」は『[^0-9]\n』を入力することで検索できましたが、 「置換後」に何を設定すれば良いのかわかりません。(または「検索対象」の設定を変える必要があるのかなど) 例えば置換後に何も設定しないと「777de456」とfが消えてしまうため、”f”を残した上で改行コードを削除したいのですが その方法がわかりません。 よろしくお願いいたします。

  • csvファイル改行コードの置換について

    お世話になります。 csvファイルで作成したデータを出力表示させるスクリプトで csvファイル内の改行コード(セル内)以後のデータが出力できません。 下記の置換で改行コード以後のデータが表示されません。 $abc =~ s/\r\n//g; $abc =~ s/\n//g; $abc =~ s/\r//g; csvファイル内の改行の数が多く、1行のデータが改行の為に、2行になったりしているので出力前に置換し表示させる方法です。 csvファイル作成時につく""は正常に置換しています。 似たような質問もあったのですが、少し違うようですので質問いたしました。 何卒、ご教授お願いいたします。

    • ベストアンサー
    • Perl
  • C# 文字列を改行コードで分割

    C# 文字列を改行コードで分割 テキストボックスに記載された文字列を1行ごとに取り出そうと思い string[] strs = textBox1.Text.Split('\n'); とコーディングしたら、末尾に\rがついてしまいました。 末尾の\rを削除するコードを追加して書けばよいのですが、改行コード\r\nで分割する方法ありましたらお教えください。

  • wikipediaからの必要情報の取得(PHP・XML)

    wikipediaの必要情報をWordPressの記事内に表示させたいと考えており色々調べましたがXMLが不勉強な事もあり理解できません。 どなたか教えていただけませんでしょうか? 現在まで下記のソースを利用してテキストデータを取得する所までは何とかできました。 <?php ini_set("user_agent", "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"); echo file_get_contents("http://ja.wikipedia.org/wiki/%E7%89%B9%E5%88%A5:Export/Ruby"); ?> パース等が分からないど素人なので、宜しければそのまま利用できるサンプルを記載頂けると助かります。 何卒宜しくお願い申し上げます。

    • 締切済み
    • XML
  • テキストファイル→抽出した行をexcelに

    VBAで、下記のようなログファイルのテキストを読み込んで、必要な文字が含まれる行だけを、エクセルに書き込むコードを教えていただけると助かります。 読み込むファイルの例(実際は、数万行あります) (1行目)dammy.co.jp - - [01/Jan/2015:00:03:51 +0900] "GET /west/index.html      HTTP/1.0" 200 ..... (2行目)smotor.co.jp - - [01/Jan/2015:00:03:51        +0900] "GET /drink/orange/index.html HTTP/1.0" 200 ..... たとえば、/west/ が含まれる行だけを抽出して、excelシートに書き込みたい ログファイルは、改行コードがCRLFです。  どなたかお分かりになる方、お助けください。 当方、VBAは初心者なので、説明も加えていただけると非常に助かります。

  • Rubyのソースコードの読み方

    現在JavaからRubyに移行しようと勉強をしているのですが、Rubyのソースコードを読んでいくと、変数に何が入っているかわからなくて困っています。 ソースコードを例に説明させていただくと、 gs = TCPServer.open(12345) addr = gs.addr こんなソースがあったとして、2行目のgs.addrというメソッドが何をするメソッドなのか知りたいとします。 しかしRubyでは型宣言をしないので、gsが何のクラスなのかわかりません。 そこでTCPServerクラスのリファレンス(http://www.ruby-lang.org/ja/old-man/html/TCPServer.html)を見るのですが、このサイトのクラスメソッド欄にかいてあるTCPServer.openを呼んでも、戻り値の型が書いていません。 このような場合どうやって、gs.addrメソッドの挙動をしればよいのでしょうか?なお現在は動的にデバックするという方法は無しで考えています。 ご回答よろしくおねがいします。

    • ベストアンサー
    • Ruby
  • RubyによるMechanizeを利用したformの取得について

    kamuycikapです。 <環境> OS : Windows7 Ruby: ActiveScriptRuby     ruby 1.8.7 (2009-06-12 patchlevel 174) [i386-mswin32] <やりたいこと> 手順1.ログインページにアクセスし、ログインIDとパスワードを入力し、ログインボタンをクリックする。 手順2.手順1から遷移したページに設置されている「CSVダウンロード」ボタンをクリックしてCSVファイルを取得する <ソースコード> ---ここから require 'rubygems' require 'mechanize' require 'kconv' agent = WWW::Mechanize.new page = agent.get('https://www.superdelivery.com/common/auth/login') login_form = page.forms.first login_form.fields[0].value = "hogehoge"  # ログインID入力 login_form.fields[1].value = "foobar"   # パスワード入力 redirect_page = agent.submit(login_form) ---ここまで 上記プログラムを実行すると下記のエラーが発生します。 undefined method `fields' for nil:NilClass (NoMethodError) pメソッドを利用してpageを画面に表示してみた処、以下の様子です。 ---ここから #<WWW::Mechanize::Page {url #<URI::HTTPS:0x467dba4 URL:https://www.superdelivery.com/common/auth/login>} {meta} {title "\343\202\242\343\203\221\343\203\254\343\203\253\343\203\273\351\233\221\350\ 262\250\343\202\222\345\215\270\350\262\251\345\243\262-\343\202\271\343\203\274 \343\203\221\343\203\274\343\203\207\343\203\252\343\203\220\343\203\252\343\203 \274"} {iframes} {frames} {links #<WWW::Mechanize::Page::Link "" nil> #<WWW::Mechanize::Page::Link "\347\271\247\357\275\271\347\271\235\357\275\274\347\271\235\344\273\243" "http://www.superdelivery.com/">} {forms}> ---ここまで どうも、formを引っ張ってこれてない模様です。 name属性が設定されていれば問題無いのかもしれないのですが、name属性もありません。 結果として、ログインを行うことすら出来ておりません。 formの内部にあるテキスト領域等にアクセスするためのメソッドはformクラスのFieldにぶら下がっている様子ですので、formが取得できてなければ利用できないのではないかと想像しています。 参考にしたサイトは下記のとおりです。 http://mechanize.rubyforge.org/mechanize/WWW/Mechanize/Form/MultiSelectList.html http://d.hatena.ne.jp/kitamomonga/20090307/ruby_mwchanize_0_9_2_out WIN32OLEを使って、IEを自動操縦する事も検討したのですが、出来るならMechanizeを利用してスマートに処理を実行したいです。 上記のコードは私が利用しているサイトのログインページですが、ログインを利用するページでname属性の無いformを利用しているページであれば何処でも一緒なのではないかと思います。 解決策についてご教示願います。

    • ベストアンサー
    • Ruby
  • &って何ですか?

    perlの勉強をしています。 &abcみたいな感じで私が見ているソースコードにたくさん[&]という記号が変数を作るような形で出てくるのですが意味が分かりません。 &&や$&はわかるのですが、この変数のような形のものは分かりません。どなたかわかるかた教えていただけないでしょうか?

  • LaTeXでソースコード

    LaTeXで文書中にソースコードを 行番号付きで載せるのはlistings.styを使ってできたのですが、 行番号 + “:”(セミコロン)で表示するような方法はないでしょうか。 例えば、こんな風にです 1: #include <stdio.h> 2: 3: int main(void){ 4: printf("hello\n"); 5: return 0: 6: }

  • Rubyのcgiが動作しません。

    下記のように4行のルビーのcgiを作りました。 ファイル名rb.cgi #!/usr/bin/ruby print <<EOF あああ EOF これをRubyを提供しているapacheサーバにアップロードし パーミッションを777にしました。 文字コードはEUC、改行はLFのみです。 しかし、Internal Server Errorが表示されます。 そこで、サーバにログオンし、このcgiファイルの ディレクトリまで移動し、./rb.cgiを実行すると あああと表示されます。また、このcgiファイルと 同一ディレクトリにあるparlのcgi(掲示板)は 正常動作しています。 どこが間違っているのでしょうか?

    • ベストアンサー
    • CGI
このQ&Aのポイント
  • 電力消費が多い時に、一時的に停電が発生し、約5秒間の停電後に復旧する現象が起きています。
  • 東京電力との契約は50AのスタンダードSであり、漏電ブレーカーは40Aです。
  • 配電盤を大きいものに交換して、100Vエアコンを2台追加したことが停電のきっかけです。
回答を見る