Project1
标题: 谁能解释下这个@list[index][:enabled] [打印本页]
作者: 九靈 时间: 2014-8-6 18:28
标题: 谁能解释下这个@list[index][:enabled]
本帖最后由 九靈 于 2014-8-6 18:34 编辑
Window_Selectable
#--------------------------------------------------------------------------
# ● 按下确定键时的处理
#--------------------------------------------------------------------------
def process_ok
if current_item_enabled?
Sound.play_ok
Input.update
deactivate
call_ok_handler
else
Sound.play_buzzer
end
end
#--------------------------------------------------------------------------
# ● 获取选择项目的有效状态
#--------------------------------------------------------------------------
def current_item_enabled?
return true
end
Window_Selectable
#--------------------------------------------------------------------------
# ● 按下确定键时的处理
#--------------------------------------------------------------------------
def process_ok
if current_item_enabled?
Sound.play_ok
Input.update
deactivate
call_ok_handler
else
Sound.play_buzzer
end
end
#--------------------------------------------------------------------------
# ● 获取选择项目的有效状态
#--------------------------------------------------------------------------
def current_item_enabled?
return true
end
Window_Command < Window_Selectable
#--------------------------------------------------------------------------
# ● 获取选项的有效状态
#--------------------------------------------------------------------------
def current_item_enabled?
current_data ? current_data[:enabled] : false
end
#--------------------------------------------------------------------------
# ● 获取选项的指令数据
#--------------------------------------------------------------------------
def current_data
index >= 0 ? @list[index] : nil
end
Window_Command < Window_Selectable
#--------------------------------------------------------------------------
# ● 获取选项的有效状态
#--------------------------------------------------------------------------
def current_item_enabled?
current_data ? current_data[:enabled] : false
end
#--------------------------------------------------------------------------
# ● 获取选项的指令数据
#--------------------------------------------------------------------------
def current_data
index >= 0 ? @list[index] : nil
end
current_data[:enable]
@list[index]
@list[index][:enabled]
这是什么?
应该会返回True
@list[index]
的index也是方法?还是变量?
current_data[:enable]
为什么是Symbol?
为什么是enable?
def add_command(name, symbol, enabled = true, ext = nil)
@list.push({:name=>name, :symbol=>symbol, :enabled=>enabled, :ext=>ext})
end
def add_command(name, symbol, enabled = true, ext = nil)
@list.push({:name=>name, :symbol=>symbol, :enabled=>enabled, :ext=>ext})
end
作者: taroxd 时间: 2014-8-6 18:50
本帖最后由 taroxd 于 2014-8-6 18:54 编辑
先推荐你一本书:https://rpg.blue/thread-315743-1-1.html
你的问题在里面有所解释
@list 是由一个哈希表构成的数组,每一个都形如这个格式:{:name=>'名字', :symbol=>:符号, :enabled=>是否可用,true或false, :ext=>"任意扩展信息'}
@list[index][:enabled] 先对@list索引第index位置的元素,也就是一个哈希表。然后用 :enabled 索引该哈希表
index 为方法。当你没有找到为局部变量赋值的语句时都被解释为方法。该方法是在 Window_Selectable 中用 attr_reader 定义的
current_data[:enable] 用一个 symbol 索引 current_data(一个哈希表)
作者: 喵呜喵5 时间: 2014-8-6 18:55
https://rpg.blue/forum.php?mod=v ... p;page=1#pid2519111
第二个
作者: 九靈 时间: 2014-8-6 19:04
taroxd 发表于 2014-8-6 18:50
先推荐你一本书:https://rpg.blue/thread-315743-1-1.html
你的问题在里面有所解释
感谢!
URG3我看完了
似乎有讲到这个...
可能是我对哈希不熟
不太能转过来...
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |