Project1

标题: 可疑的id [打印本页]

作者: 寒冷魔王    时间: 2013-8-6 17:55
标题: 可疑的id
用RMXP编程时为测定函数可靠性用p函数输出结果,可是恒为4,检查后才发现有一段偏码 return id 写错了,应为return i,函数中并未为id赋值,因此出现这次意外。但觉得不对,便将p id提了出来,置在最上,发现值仍是4
p id
简单测定了一下,发现
RPG Maker XP 里恒为4
RPG Maker VX 里则出现较多变化,但都是2开头的如此长度的数字:26710920
大家说这id是怎么一回事?是内置的一个函数呢还是其他的什么?
作者: Algalon    时间: 2013-8-7 02:14
请把你的测试脚本贴出来,就目前来看没有异常
作者: 晴兰    时间: 2013-8-7 05:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: 寒冷魔王    时间: 2013-8-7 10:22
新建一个工程,在脚本框最上新建一条,书p  id
按照你的说法p  defined?(id)  结果是method
与我的那段脚本无关,这是自带的
作者: Algalon    时间: 2013-8-7 10:30
抱歉我没装VX,不过我用VA测试下来 id 并没有内部定义。但是按照你的结果来看 id 在VX中应该是一个内置方法无误。那倒也能解释为啥输出的是这么大一个数了。
作者: orzfly    时间: 2013-8-9 04:27
其实 id 只是 ruby 1.8.1 中 object_id 的 alias……
@晴兰 乃难道把这个都忘记了?
  1. bash-3.1$ ./irgss :rgss1
  2. iRGSS @ RGSS1 @ ruby 1.8.1 (2003-12-25) [i386-mswin32]
  3. RGSS104E(main):001:0> self.id
  4. => 24036360
  5. RGSS104E(main):002:0> self.object_id
  6. => 24036360
  7. RGSS104E(main):003:0> exit

  8. bash-3.1$ ./irgss :rgss2
  9. iRGSS @ RGSS2 @ ruby 1.8.1 (2003-12-25) [i386-mswin32]
  10. RGSS200E(main):001:0> self.id
  11. => 25105288
  12. RGSS200E(main):002:0> self.object_id
  13. => 25105288
  14. RGSS200E(main):003:0> exit

  15. bash-3.1$ ./irgss :rgss3
  16. iRGSS @ RGSS3 @ ruby 1.9.2p0 (2010-08-18 revision 29036) [i386-mswin32_90]
  17. RGSS301(main):001:0> self.id
  18. NoMethodError: undefined method `id' for main:Object
  19.         from (RGSS301):1
  20.         from :irgss_lib/irb.rb:158:in `block (2 levels) in eval_input'
  21.         from :irgss_lib/irb.rb:271:in `signal_status'
  22.         from :irgss_lib/irb.rb:155:in `block in eval_input'
  23.         from :irgss_lib/irb.rb:154:in `eval_input'
  24.         from :irgss_lib/irb.rb:71:in `block in start'
  25.         from :irgss_lib/irb.rb:70:in `catch'
  26.         from :irgss_lib/irb.rb:70:in `start'
  27.         from {0000}:74:in `block in <main>'
  28.         from {0000}:17:in `call'
  29.         from {0000}:17:in `warp_errors'
  30.         from {0000}:73:in `<main>'
  31.         from ruby:in `eval'
  32. RGSS301(main):002:0> self.object_id
  33. => 21766530
  34. RGSS301(main):003:0> exit
复制代码

作者: DeathKing    时间: 2013-8-15 12:52
http://axgle.github.io/rhg/chapter02.html




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