在prolog中列出声明如果

时间:2018-06-18 15:28:55

标签: prolog

我想做一个带有list的语句。我们有一个带有数字LP=[-22,-41,33,16,58]的列表。我怎么能用if做呢?让我说我希望数字小于-10且大于12.As结果,它会  Sub Save_invoice() Dim i As Integer Dim last As Long Dim rng As Range, rng2 As Range last = Sheets("Bill_Register").Range("A100000").End(xlUp).Row Set rng = Sheets("Billing").Range("A1:J42") Set rng2 = Sheets("Bill_Register").Range("A" & last + 2) rng.Copy rng2.PasteSpecial Paste:=xlPasteFormats rng.Copy rng2.PasteSpecial Paste:=xlPasteValues End Sub 。它可以以某种方式使用一种正确的方法吗?另外,我想要具体,我只想要数字,而不是字符串if语句。

1 个答案:

答案 0 :(得分:0)

使用include/3之类的内容可能符合您的需求:

extreme(L, NL):-
  include(in_range, L, NL).

in_range(X):-
  number(X),
  (X < -10 ; X > 12).

尝试按照评论中的建议更加纯粹,可以用这种方式编写程序:

extreme(L, NL):-
  include(in_range, L, NL).

in_range(X):-
  number_or_fd_var_itype(X),
  X in inf..(-9)\/13..sup.

number_or_fd_var_itype(N):-
   (
     fd_var(N) -> true ;
     ( functor(N,_,_),number(N) )
   ).