Project

General

Profile

Feature #2296

Dir.home(0)でTypeErrorが出る

Added by hasari (Hiro Asari) over 9 years ago. Updated almost 8 years ago.

Status:
Rejected
Priority:
Normal
Target version:
-
[ruby-dev:39563]

Description

=begin
現在の実装ですと

$ ruby19 -v -e 'p Dir.home(0)'
ruby 1.9.2dev (2009-10-27 trunk 25509) [x86_64-darwin10.0.0]
-e:1:in home': can't convert Fixnum into String (TypeError)
from -e:1:in
'

となっています。
中で引数についてto_sみたいなことをするか、或いはFixnumを渡されたら(それが適当なら)UIDであるとしてユーザーを見つけてくるのが自然ではないでしょうか。
=end

History

#1

Updated by naruse (Yui NARUSE) over 9 years ago

  • Status changed from Open to Assigned
  • Assignee set to matz (Yukihiro Matsumoto)

=begin
これは bug ではなく、feature request ですね
=end

#2

Updated by matz (Yukihiro Matsumoto) over 9 years ago

=begin
まつもと ゆきひろです

In message "Re: [ruby-dev:39563] [Bug #2296] Dir.home(0)でTypeErrorが出る"
on Wed, 28 Oct 2009 09:45:04 +0900, Hiro Asari redmine@ruby-lang.org writes:

|現在の実装ですと
|
|$ ruby19 -v -e 'p Dir.home(0)'
|ruby 1.9.2dev (2009-10-27 trunk 25509) [x86_64-darwin10.0.0]
|-e:1:in home': can't convert Fixnum into String (TypeError)
| from -e:1:in
'
|
|となっています。
|中で引数についてto_sみたいなことをするか、或いはFixnumを渡されたら(それが適当なら)UIDであるとしてユーザーを見つけてくるのが自然ではないでしょうか。

「自然」は主観的で未定義なので、ここではあまり重視しませんが、

  • to_sみたいなことをする

    整数のゼロを渡して、"0"という名前のユーザのホームディレク
    トリを得たいというニーズは私には理解できません。あるんで
    すか?

  • Fixnumが渡されたら

    UIDからホームディレクトリが得たい、というのは"0"というユー
    ザよりは理解可能ですが、とはいえ、それほど必要な気がしま
    せん。むしろ、文字列を渡すべきところで、整数を渡してしま
    うというエラーを早期に発見できた方がうれしくないですか?

    唯一考えられるのは、「File#statで得たowner情報(整数)から、
    ホームディレクトリを得る時に楽」というケースですが、あん
    まり一般的ではないような。

というわけで、採用しないつもりでいます。反論は歓迎します。

=end

#3

Updated by matz (Yukihiro Matsumoto) over 9 years ago

  • Status changed from Assigned to Rejected

=begin

=end

#4

Updated by hasari (Hiro Asari) over 9 years ago

=begin
ちょっと言葉足らずだったようです。失礼しました。
「FixnumをStringに変換出来ない」旨のエラーが出るのは変かなと考えたのです。他に見たような記憶が無かったので。「有る」という指摘も勿論歓迎です。
それで、Fixnumのまま使うとしたらどんなのが有ったら便利かな、と考えました。特に必要から生じたチケットではないので、このまま不採用という事でも一向に構いません。
=end

#5

Updated by matz (Yukihiro Matsumoto) over 9 years ago

=begin
まつもと ゆきひろです

In message "Re: [ruby-dev:39570] [Feature #2296] Dir.home(0)でTypeErrorが出る"
on Wed, 28 Oct 2009 14:25:15 +0900, Hiro Asari redmine@ruby-lang.org writes:

|「FixnumをStringに変換出来ない」旨のエラーが出るのは変かなと考えたのです。他に見たような記憶が無かったので。「有る」という指摘も勿論歓迎です。

それなりにあると思いますよ。

% ruby -e '["1","2","3"].join(3)'
-e:1:in join': can't convert Fixnum into String (TypeError)
from -e:1:in
'

=end

#6

Updated by hasari (Hiro Asari) over 9 years ago

=begin
了解しました。UIDだけが判る状況というのは無さそうなので、このチケットは閉じてください。
=end

Also available in: Atom PDF