设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2288|回复: 1
打印 上一主题 下一主题

[已经解决] 为什么是参数?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
帖子
203
跳转到指定楼层
1
发表于 2013-8-28 13:56:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
呃...实在不知道怎么问...
Game_Map
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 设置
  3.   #     map_id : 地图 ID
  4.   #--------------------------------------------------------------------------
  5.   def setup(map_id)
  6.     # 地图 ID 记录到 @map_id
  7.     @map_id = map_id
  8.     # 地图文件装载后、设置到 @map
  9.     @map = load_data(sprintf("Data/Map%03d.rxdata", @map_id))

Game_Map
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 获取地图 ID
  3.   #--------------------------------------------------------------------------
  4.   def map_id
  5.     return @map_id
  6.   end



问题 :
1. 48行的map_id 为什么是指参数? 而不是指方法?
(要是没参数的话就是指方法了)
2. 在有参数时要调用方法怎么办?(在不改方法名或参数名的情况下)
3. 参数优先是Ruby内定的吗?


例如restriction :
Game_Battler 1
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 可以行动判定
  3.   #--------------------------------------------------------------------------
  4.   def movable?
  5.     return (not [url=home.php?mod=space&uid=292300]@Hidden[/url] and restriction < 4)
  6.   end

Game_Battler 2
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 获取限制
  3.   #--------------------------------------------------------------------------
  4.   def restriction
  5.     restriction_max = 0
  6.     # 从当前附加的状态中获取最大的 restriction
  7.     for i in @states
  8.       if $data_states[i].restriction >= restriction_max
  9.         restriction_max = $data_states[i].restriction
  10.       end
  11.     end
  12.     return restriction_max
  13.   end

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

2
发表于 2013-8-28 14:22:05 | 只看该作者
本帖最后由 IamI 于 2013-8-28 14:23 编辑

1、变量重名时局部变量优先,全世界通用。
     变量和方法重名时变量优先,少部分奇葩语言特有。
要调用方法,请使用map_id()
2、restriction有此局部变量则先调用局部变量,由于ruby的特性不会是实例变量,最后再调用方法。

点评

II触手抢我生意自重=-=  发表于 2013-8-28 17:29
谢谢...  发表于 2013-8-28 16:16

评分

参与人数 1星屑 +90 收起 理由
︶ㄣ牛排ぶ + 90 认可答案

查看全部评分

菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-23 10:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表