这是一个示例函数:
function step(x, min, max) {
return x >= min && x <= max ? x : 0;
}
console.log(step(-3 - Number.EPSILON, -3, 5)); // Expected 0, actual -3
console.log(step(5 + Number.EPSILON, -3, 5)); // Expected 0, actual 5
Run Code Online (Sandbox Code Playgroud)
我需要检查,对于 [min, max] 间隔之外的值,它是否返回零。当然,我可以减去/添加一个更大的数字,例如 1。但我很确定,应该存在一个返回上一个/下一个浮点数的函数。您能否建议一下该功能或如何实现它?
这是一个示例函数:
fun divide :: "enat option ? enat option ? real option" where
"divide (Some ?) _ = None"
| "divide _ (Some ?) = None"
| "divide _ (Some 0) = None"
| "divide (Some a) (Some b) = Some (a / b)"
| "divide _ _ = None"
Run Code Online (Sandbox Code Playgroud)
Isabelle HOL向我显示以下错误:
Malformed definition:
Non-constructor pattern not allowed in sequential mode.
?uw_. divide uw_ (Some 0) = None
Run Code Online (Sandbox Code Playgroud)
为什么模式匹配工作正常Some ?并且不起作用Some 0??是类常量infinity和0 …
我正在尝试使用以下层开发应用程序:
该模型包含继承和多态集合:
public class Master
{
public virtual ICollection<BaseDetail> Details { get; set; }
}
public abstract class BaseDetail
{
public virtual Master Master { get; set; }
}
public class Detail1 : BaseDetail { }
public class Detail2 : BaseDetail { }
public class Detail3 : BaseDetail { }
Run Code Online (Sandbox Code Playgroud)
问题是我找不到适合我需要的Java Script框架: