Project1
标题:
[已解决]关于非!的一段代码用法疑问?
[打印本页]
作者:
miantouchi
时间:
2019-6-29 22:26
标题:
[已解决]关于非!的一段代码用法疑问?
本帖最后由 miantouchi 于 2019-6-30 06:22 编辑
这是一段跳跃代码,但是核心问题不是跳跃的实现,而是我对非!用法感到疑惑.
#--------------------------------------------------------------------------
# ● 更新跳跃
#--------------------------------------------------------------------------
def update_jump
return if !jumping?
# 更新真实坐标
@real_x += @v.x
@real_y -= @v.y
#以下省略
end
#--------------------------------------------------------------------------
# ● 是否跳跃
#--------------------------------------------------------------------------
def jumping?
!@jump_state.nil?
end
我的想法如下:
如果@jump_state状态值是nil则返回true,然后非一下就是返回false,也就跳跃状态为nil就返回false吗,不是nil就返回true
def jumping?
@jump_state.nil?
end
def update_jump
return if jumping?
end
这么写不也行吗?,不加 ! ,这么写有什么好处吗?
作者:
devil033
时间:
2019-6-29 23:13
个人感觉你的写法也是可以的,就是逻辑比较奇怪。
jumping?翻译成中文就是 跳?
返回值true(是)就代表跳,返回值false(否)就代表不跳。
但你的逻辑就比较奇怪了
返回值true(是)就代表不跳,返回值false(否)就代表跳。
就好比问你 “你吃饭了吗”
你回复“吃了”,表示你没吃
你回复“没吃”,表示你吃了
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1