【问题标题】:Can I use the function yes () to return 1 [closed]我可以使用函数yes()返回1吗?
【发布时间】:2013-05-20 10:59:58
【问题描述】:

下面的函数对吗?

local function yes()
return 1
end

local function no()
return 0
end

可以用这种方式设置变量的值吗?

local May_I = yes()
if May_I ~= 0 then
-- Yes I can do that
end

我喜欢数字,但有时它们不是很精确。

【问题讨论】:

  • 你为什么想要?布尔值 truefalse 对您来说太复杂了吗?
  • yes(),你可以使用你的函数,但标准 Lua 逻辑运算符andornotif 不适用于数字。
  • 你是什么意思有时它们不是很精确
  • @BrutalApple:“我想制作即使知识较少的人也可以阅读的同义词。”这严重低估了您打算使用该系统的任何人的智力。我想人们知道truefalse 是什么意思。
  • @BrutalApple:使用简单的 true 和 false 更简单,也更符合 Lua 的习惯。通常最好适应你正在编写的语言,而不是试图强迫语言变成你习惯的语言。

标签: function lua helper


【解决方案1】:

你可以像这样处理你提到的不精确:

> epsilon = 1e-2
> function yes()
>>  return 1
>> end
> if math.abs( yes() - 1 ) <= epsilon then
>>  print("Yes I can")
>> end
Yes I can

或者,准确地说,使用truefalse

【讨论】:

  • +1 处理布尔精度问题的好方法
猜你喜欢
  • 2013-02-06
  • 2021-09-21
  • 1970-01-01
  • 2011-01-15
  • 2012-01-02
  • 1970-01-01
  • 1970-01-01
  • 2021-09-19
  • 1970-01-01
相关资源
最近更新 更多