当前位置: 首页 > 知识库问答 >
问题:

检查int是否介于两个数字之间

乜胜泫
2023-03-14

如果您试图找出int是否介于数字之间,为什么不能这样做:

if(10 < x < 20)

相反,你要做的是

if(10<x && x<20)

好像有点开销。

共有1个答案

唐修诚
2023-03-14

一个问题是,三元关系构造会引入严重的解析器问题:

<expr> ::= <expr> <rel-op> <expr> |
           ... |
           <expr> <rel-op> <expr> <rel-op> <expr>

当您尝试使用典型的PGS用这些产品来表达语法时,您会发现在第一个 处存在移位-减少冲突。解析需要查看任意数量的符号,以查看是否存在第二个 ,然后才能确定使用的是二进制形式还是三元形式。在这种情况下,您不能简单地忽略冲突,因为这将导致不正确的解析。

我不是说这个语法有致命的歧义。但我认为您需要一个回溯解析器来正确处理它。对于快速编译是一个主要卖点的编程语言来说,这是一个严重的问题。

 类似资料:
  • 问题内容: 如果您尝试找出int是否介于数字之间,为什么不能这样做呢? 取而代之的是,您必须做 这似乎有点开销。 问题答案: 一个问题是三元关系构造会引入严重的解析器问题: 当您尝试使用典型的PGS用这些生成物表达语法时,您会发现在first的位置存在shift-reduce冲突。解析需要先查找任意数量的符号,然后才能确定是否已使用二进制或三进制形式,以查看是否存在第二个符号。在这种情况下,您不能

  • 问题内容: 在JavaScript中,如果窗口大小大于500px,我要告诉浏览器执行某些操作。我这样做是这样的: 这很好用,但是我想使用相同的方法,但是要有一定范围的数字。因此,如果窗口大小在500像素到600像素之间,我想告诉我的浏览器来做一些事情。我知道这行不通,但是这是我的想象: 在JavaScript中甚至可能吗? 问题答案: 测试是否大于或小于表示值或值本身均不会导致条件变为真。

  • 在JavaScript中,如果窗口大小大于500px,我会告诉浏览器做些什么。我是这样做的: 这很有效,但我想用同样的方法,但有一系列的数字。所以我想告诉我的浏览器,如果窗口大小在500px到600px之间,我就去做一些事情。我知道这是行不通的,但我是这么想的: 在JavaScript中,这可能吗?

  • 问题内容: 我有这段代码将字符串转换为日期对象 我想知道如果当前日期落在2天我的阵列中得到之间和 问题答案: 迅捷2 你已经在你的日期字符串转换的代码来。假设您在和中都有两个日期,那么您要做的就是检查当前日期是否在以下日期之间: 编辑: 如果要执行 包含 范围检查,请使用以下条件:

  • 问题内容: 我对此代码有疑问: 错误的解释是: 作业的左侧必须是变量。 我理解这意味着什么,但是如何将上面的代码转换为正确的代码? 问题答案: 我在您的代码中看到一些错误。 您可能是数学术语 90 <=角度<= 180,表示角度在90-180之间。

  • 问题内容: 我有以下三个字符串(当前时间,日落和日出),如何确定当前时间是否在日出和日落之间? 问题答案: $current_time = “4:59 pm”; $sunrise = “5:42 am”; $sunset = “6:26 pm”; $date1 = DateTime::createFromFormat(‘H:i a’, $current_time); $date2 = DateTi