Project1

标题: RGSS3的Symbol明明說有to_i方法,但是實際調用卻出錯? [打印本页]

作者: 流川枫    时间: 2013-3-30 19:17
标题: RGSS3的Symbol明明說有to_i方法,但是實際調用卻出錯?
p Input::C.to_i  #RMVX運行正確返回13,RMVA運行出錯提示沒有該方法



Symbol
シンボルを表すクラス。シンボルを参照してください。

スーパークラス
Object
メソッド
id2name
シンボルに対応する文字列を返します。

文字列に対応するシンボルを得るには String#to_sym を使います。

p :foo.id2name.to_sym == :foo       # => true

to_i
シンボルに対応する整数を返します。

この整数から対応するシンボルを得るには Fixnum#to_sym を使います。

p :foo.to_i                         # => 8881
p :foo.to_i.to_sym                  # => :foo

Ruby の実装では予約語、変数名、メソッド名などをこの整数で管理しています。オブジェクトに対応する整数 (Object#object_id で得られます) と Symbol に対応する整数は別のものです。

作者: LBQ    时间: 2013-3-30 19:41
等一会。。。。那个  Input::C 那个是Symbol?。。。(假如理解错误的话恕我脑残)。。。我在XP里测试了一下p Input::C.class结果返回的是Fixnum是什么情况。。。。。
作者: 流川枫    时间: 2013-3-30 20:06
p Input::C.class
p Input::C.to_i  #RMVX運行正確返回13,RMVA運行出錯提示沒有該方法

fghfgh.jpg (26.62 KB, 下载次数: 15)

fghfgh.jpg

作者: LBQ    时间: 2013-3-30 20:24
本帖最后由 LBQ 于 2013-3-30 20:29 编辑

汗。。。我在Ruby的API上没有找到to_i这个方法是什么情况。。。。
http://ruby-doc.org/core-1.9.2/Symbol.html



之后我在ruby 1.87的文档上找到了。。。汗。。。
http://www.ruby-doc.org/core-1.8.7/Symbol.html#method-i-to_i


VA的那个应该是1.92吧。。是EB脑残了吗?
作者: 晴兰    时间: 2013-3-30 21:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: 流川枫    时间: 2013-3-30 21:42
晴兰 发表于 2013-3-30 21:01
RMVA的Input::C就是:C,建议(见默认脚本)写的也是:C,Input::C是为了兼容旧的习惯
你可以用Symbol的objec ...

好吧我剛才想到了更好的方法,不需要再糾結這個問題就已經支持RMVA了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1