[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:2910

From: Ippei Obayashi <ohai@k...>
Date: Sat, 12 Nov 2011 00:18:13 +0900
Subject: [ruby-reference-manual:2910] [るりまプロジェクト - Bug #5383][Closed] Enumerable#first のサンプルコード実行結果がおかしい


Issue #5383 has been updated by Ippei Obayashi.

Status changed from Open to Closed

r4882 までで上に挙げた例に更新したため close。

Thank you for your report!

----------------------------------------
Bug #5383: Enumerable#first のサンプルコード実行結果がおかしい
http://redmine.ruby-lang.org/issues/5383

Author: 4ge0 rb
Status: Closed
Priority: Normal
Assignee: 
Category: doc
Target version: 
reporter: 
ruby_version: 


写経して実行すると

  p h.first     #=> [:a, 1]
  p h.first(2)  #=> [[:a, 1], [:b, 2]]
  p {}.first    #=> NoMethodError: undefined method `first' for nil:NilClass
  p {}.first(2) #=> NoMethodError: undefined method `first' for nil:NilClass
になりました。
環境は、WindowsXP SP3、Ruby1.9.2 p290 (One-Click Ruby Installer for Windows)

1.9.2 p290のenum.cを流し読みしましたが、ドキュメントの誤字と思いこちらに報告しました。
  p [].first    #=> nil
  p [].first(2) #=> []
となるので {} と [] の間違いでしょうか?

http://doc.okkez.net/を見て、1.9.1と1.8.7のドキュメントも同じだなと確認し、それ以前の

ドキュメントは確認していません。

環境を変えて試してみた結果は下記の通りです。
Ubuntu環境は使い慣れていない中で行ったので意味の無い情報かもしれません。

1.
  プログラムの追加と削除から前述の1.9.2を削除して、ActiveScriptRubyのRuby1.9.2-p290をインストール

 #=> 結果同じ

2.
  1.の状態から1.9.2を削除後に、One-Click Ruby Installer for Windows の 1.8.7 p352をインストール

 #=> 結果同じ

3.
  VMwarePlayer3.1.4上に入れていたUbuntu 11.04のUbuntuソフトウェアセンターから
 Interpreter of object-oriented scripting language Ruby 1.9.2をインストール。
 irbで試す。
 #=> 結果同じ

4.
  3.の状態からUbuntuソフトウェアセンターでRuby1.9.2削除。
 端末からsudo apt-get install rubyで1.8.7をインストールして、irbで試す。
 #=>  h = {:a => 1, :b => 2, :c => 3} を実行すると {:b => 2, :c => 3, :a =>1} と出力される。
       p {}.first は NoMethodError のまま。


-- 
http://redmine.ruby-lang.org

--
ML: ruby-reference-manual@m...
Info: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]