Project1
标题:
请问:begin结构是什么意思?
[打印本页]
作者:
kvkv97
时间:
2023-12-7 21:11
标题:
请问:begin结构是什么意思?
请问:begin结构是什么意思?
#--------------------------------------------------------------------------
# ● 转到输入下一个角色的命令
#--------------------------------------------------------------------------
def phase3_next_actor
# 循环
begin
# 角色的明灭效果 OFF
if @active_battler != nil
@active_battler.blink = false
end
# 最后的角色的情况/
if @actor_index == $game_party.actors.size-1
# 开始主回合
start_phase4
return
end
# 推进角色索引/起初,@actor_index=-1
@actor_index += 1
@active_battler = $game_party.actors[@actor_index]
@active_battler.blink = true
end
# 设置角色的命令窗口
phase3_setup_command_window
end
请问,这里的begin是 什么意思,有什么用途?
作者:
srwjrevenger
时间:
2023-12-7 23:40
遇到特定的,没有 def 过的单词,先去查查对应版本的帮助手册嘛
begin
例子:
begin
do_something
rescue
recover
ensure
must_to_do
end
语法:
begin
表达式 ..
[rescue [error_type,..] [then]
表达式 ..]..
[ensure
表达式 ..]
end
若给出了 rescue 部分(可以有若干个)的话,就可以在发生异常时捕捉到它。若存在与异常类型一致的 rescue 部分的话,就执行 rescue 的内容。
发生异常时,可以使用内部变量 $! 来查看异常的情况。
若 error_type 被省略,则将捕捉 StandardError 的子类中的所有异常。
Ruby 的大部分内部异常是 StandardError 的子类。具体请参考 内部异常类。
在 rescue 部分中,error_type 与普通的参数一样接受计算,若符合的话就执行相应部分的内容。
若 error_type 的计算值既非类又非模块的话,则引发 TypeError 异常。
若存在 ensure 部分的话,则在 begin 表达式结束之前一定会计算它。
begin 表达式会返回其自身或 rescue 部分最后的计算结果。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1