twf_cc 发表于 2007-07-02 17:59

s.capticalize 問題

小弟在 Cygwin下, ruby 版本 1.86 , 運行這個 String method 說沒定義,
回到 Linux 下, ruby 1.84 也一樣, 但書上卻有這個方法... swapcase 則
沒問題。
$ ruby --version
ruby 1.8.4 (2005-12-24)
$ ruby -e 's = ARGV ; puts s.swapcase' uNIX
Unix
$ ruby -e 's = ARGV ; puts s.capticalize' uNIX
-e:1: undefined method `capticalize' for "uNIX":String (NoMethodError)
$

Why?????? 高手可解答嗎?

twf_cc 发表于 2007-07-02 20:08

更正寫法 :) , Ruby 文件是這樣的,新手莫怪 :)
String#capticalize 不存在的方法,但 Ruby Programing 卻有這個方法,
其實是那個錯了?

2gua 发表于 2007-07-03 06:24

C:\>ri swapcase
-------------------------------------------------------- String#swapcase
   str.swapcase   => new_str
------------------------------------------------------------------------
   Returns a copy of _str_ with uppercase alphabetic characters
   converted to lowercase and lowercase characters converted to
   uppercase.

      "Hello".swapcase          #=> "hELLO"
      "cYbEr_PuNk11".swapcase   #=> "CyBeR_pUnK11"

twf_cc 发表于 2007-07-04 21:56

原帖由 lujx 于 2007-7-3 06:24 发表 http://bbs.chinaunix.net/images/common/back.gif
C:\>ri swapcase
-------------------------------------------------------- String#swapcase
   str.swapcase   => new_str
------------------------------------------------------------------------ ...
是沒這個method 的問題,不是method 的工作方式....
$ ruby -e 'puts "uNiX OpERating Os".swapcase'
UnIx oPerATING oS
$ ruby -e 'puts "uNiX OpERating Os".capticalize'
-e:1: undefined method `capticalize' for "uNiX OpERating Os":String (NoMethodError)
$

twf_cc 发表于 2007-07-04 21:56

原帖由 lujx 于 2007-7-3 06:24 发表 http://bbs.chinaunix.net/images/common/back.gif
C:\>ri swapcase
-------------------------------------------------------- String#swapcase
   str.swapcase   => new_str
------------------------------------------------------------------------ ...
是沒這個method 的問題,不是method 的工作方式....
$ ruby -e 'puts "uNiX OpERating Os".swapcase'
UnIx oPerATING oS
$ ruby -e 'puts "uNiX OpERating Os".capticalize'
-e:1: undefined method `capticalize' for "uNiX OpERating Os":String (NoMethodError)
$

dz902 发表于 2007-07-05 03:28

好像是因为拼写错误。

是 capitalize 吧?

2gua 发表于 2007-07-05 12:44

C:\>ruby -e 'puts "uNiX OpERating Os".swapcase'
UnIx oPerATING oS

C:\>

2gua 发表于 2007-07-05 12:47

C:\>ri String.capitalize
------------------------------------------------------ String#capitalize
   str.capitalize   => new_str
------------------------------------------------------------------------
   Returns a copy of _str_ with the first character converted to
   uppercase and the remainder to lowercase.

      "hello".capitalize    #=> "Hello"
      "HELLO".capitalize    #=> "Hello"
      "123ABC".capitalize   #=> "123abc"



C:\>ri capticalize
Nothing known about capticalize

C:\>

mycatboys 发表于 2007-08-04 22:42

DeceitLei 发表于 2007-09-12 13:46

$ ruby -e 's = ARGV ; puts s.capitalize' uNIX
Unix

你拼错了而已
页: [1]
查看完整版本: s.capticalize 問題