From: matz@... (Yukihiro Matsumoto) Date: 1997-01-06T08:48:02+09:00 Subject: [ruby-list:1571] Re: nil ¤Î <=> ã¾ã¤ã‚‚㨠ゆãã²ã‚ã§ã™ In message "nil ã® <=>" on 96/12/31, (Dezawa Shin-ichiro) writes: | |出沢ã§ã™ | |nil ã« <=> 定義ã—ã¦ã‚‚らãˆãªã„ã ã‚ã†ã‹ï¼Ÿ |ãれã¨ã‚‚ ãªã«ã‹å•題出るã ã‚ã†ã‹ã€ã€ã€ ã¨ã¯ã„ã†ã‚‚ã®ã®nilã‚’Comparableã®é †åºç©ºé–“ã®ã©ã“ã«ç½®ãã‹ã¯ãªã‹ ãªã‹é›£ã—ã„å•題ã§ï¼Œã§ãれã°ã‚„りãŸããªã„ã¨ã„ã†ã®ãŒæ­£ç›´ãªã¨ã“ã‚ ã§ã™ï¼Ž | nil ã¨ã¯ 0ã€ãれ以外ã¨ã¯ nil ã®æ–¹ãŒå°ã•ã„ nilã¨0ãŒåŒã˜ã¨ã„ã†ã®ã¯perl愛好家ã¯å–œã¶ã¨æ€ã„ã¾ã™ãŒï¼Œrubyã«ã¯ åˆã‚ãªã„ã‹ãªã‚. |ã©ã‚“ãªã¨ãã«æ¬²ã—ã„ã‹ |1 ã¨ã‚ã‚‹ クラス を定義ã—ã€ãã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’内容ã«ã‚‚㤠| Array を作りã¾ã™ã€‚事情ãŒã‚ã£ã¦ 時㫠nil ãŒäº¤ã˜ã‚Šã¾ã™ã€‚ ã†ãƒ¼ã‚“,compact!を使ã†ã‹(1),sort用ã«è©•価ブロックを与ãˆã‚‹ (2)ã®ã¯ã©ã†ã§ã—ょã†ï¼Ž 1. ary.compact!.sort! 2. ary.sort!{|a,b| if a == nil then if b == nil then 0 else 1 end elsif b == nil then -1 else a <=> b end } 特ã«2ã¯æŠ¼ãˆã¦ãŠãã¨ã„ã‚ã„ã‚使ã„出ãŒã‚ã‚‹ã¨æ€ã„ã¾ã™ï¼Ž |ï¼’ 識別å­ã‚’プロパティ @name ã«ã‚‚㤠クラス を定義ã—ã€ãã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’ | 内容ã«ã‚‚㤠Array を作りã¾ã™ã€‚ ã“れã¯ä¸Šè¨˜2ã§å¯¾å¿œã—ã¦ã‚‚らã†ã®ãŒè‰¯ã„ã®ã§ã¯ï¼Ÿ |nil ã« <=> ãŒã‚れ㰠ãŸã™ã‹ã‚‹ãªãƒ¼ ã¨æ€ã£ãŸæ¬¡ç¬¬ã€‚ ã¤ãƒ¼ã‚ã‘ã§ï¼Œã¡ã‚‡ã£ã¨ã‚„りãŸããªã„ãªãƒ¼ã¨æ€ã£ãŸæ¬¡ç¬¬(ã”ã‚ã‚“ã­). ã¾ã¤ã‚‚㨠ゆãã²ã‚ /:|)