标签: predicate

如何在 SMT-LIB 中定义谓词

我如何定义一个谓词,例如even: Int -> Bool,它接受一个整数并输出它是否为偶数?

我尝试过类似的东西

(set-logic AUFNIRA)
(declare-fun even (Int) Bool)
Run Code Online (Sandbox Code Playgroud)

例如,我想知道如何声明这even(2)是真的。

predicate smt

1
推荐指数
1
解决办法
392
查看次数

如何在 QueryDSL 中为多对多关系创建谓词布尔表达式

如何使用 Predicate BooleanExpression 对多对多关系进行内连接?

我有 2 个实体

public class A {

  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private Integer id;

 @ManyToMany(fetch = FetchType.LAZY,
  cascade = { CascadeType.DETACH, CascadeType.MERGE, 
      CascadeType.REFRESH, CascadeType.PERSIST})
  @JoinTable(name = "a_b_maps",
      joinColumns = @JoinColumn(name = "a_id", nullable = 
          false,referencedColumnName = "id"),
      inverseJoinColumns = @JoinColumn(name = "b_id", nullable = false, 
        referencedColumnName = "id")
  )
  private Set<B> listOfB = new HashSet<B>();
}


public class B {

  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private Integer id;

 @ManyToMany(fetch = FetchType.LAZY,
  cascade = { CascadeType.DETACH, CascadeType.MERGE, 
      CascadeType.REFRESH, …
Run Code Online (Sandbox Code Playgroud)

spring predicate jpql querydsl spring-data-jpa

1
推荐指数
1
解决办法
5002
查看次数

仅当存在可选项时如何应用条件?

我有一个Optional<LocalDate>对象和一个Stream其他日期。

Stream<LocalDate> dates = ...;   
Optional<LocalDate> dateOptional = ...;
Run Code Online (Sandbox Code Playgroud)

我想过滤掉可选的所有日期。如果可选项不存在,过滤器不应该做任何事情。

我写过Predicate这样的:

Predicate<LocalDate> predicate = date -> !dateOptional.isPresent() || !date.isAfter(dateOptional.get());  
Stream<LocalDate> filteredStream = dates.filter(predicate);
Run Code Online (Sandbox Code Playgroud)

我想避免使用isPresent()get()。是否有更实用的方式来编写相同的逻辑?我正在使用 Java 8。

java predicate optional java-8 java-stream

1
推荐指数
1
解决办法
591
查看次数

Java Predicate Interface - 该方法如何工作 - 尽管它没有在我的类中实现

虽然我还没有实现 Predicate 接口中的方法 - test - ,但为什么在我的类 - inte 中没有任何主体的情况下执行该方法?

package newone; 
import java.util.function.Predicate;

public class inte {
    public static void main(String[] args) {
        Predicate <Integer> p = i -> (i<19);
        System.out.println(  p.test(22));
       }


@FunctionalInterface
public interface Predicate<T> {
    boolean test(T var1);
}
Run Code Online (Sandbox Code Playgroud)

java interface predicate

1
推荐指数
1
解决办法
629
查看次数

如何在 Java 中使用谓词?

我如何使用以下谓词?

Predicate<Integer> isOdd = n -> n % 2 != 0;
Run Code Online (Sandbox Code Playgroud)

我的尝试:

System.out.println(isOdd(5));
Run Code Online (Sandbox Code Playgroud)

编译器输出:

java: cannot find symbol
symbol:   method isOdd(int)
location: class Main
Run Code Online (Sandbox Code Playgroud)

java lambda predicate

1
推荐指数
1
解决办法
332
查看次数

SwiftData 搜索栏和谓词

我正在尝试使用带有搜索栏的 SwiftData 框架创建一个视图,用户可以在其中输入飞机的注册信息并动态更新列表。但首先我不确定我是否正确执行(我在网上找不到太多示例)并且收到错误:

通用结构“ForEach”要求“Query<Aircraft, [Aircraft]>”符合“RandomAccessCollection”

struct AirplanePick: View {
    @State var addNewPlane = false
    @Environment (\.modelContext) var mc
 
    @Binding var planePick: Aircraft?
    let dm: DataManager
    @Environment(\.presentationMode) var presentationMode

    @State var searchTerm: String = ""
    
    var filterPlanes : Query<Aircraft, [Aircraft]>{
       
        var predicate: Predicate<Aircraft>?
        
        if !searchTerm.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
            predicate = .init(#Predicate { $0.registration.contains(searchTerm) })
        }
        
        return Query(filter: predicate, sort: \.registration)
    }
    var body: some View {
        
        List {
            Text("planes are \(planes.count)")
            
            ForEach(filterPlanes, id: \.self){ plane in
                             
                
                Button {
                    planePick = plane
                 
                    self.presentationMode.wrappedValue.dismiss() …
Run Code Online (Sandbox Code Playgroud)

predicate swift-data swiftui

1
推荐指数
1
解决办法
1134
查看次数

测试ac#DateTime的最佳方法是分钟,小时,月等

我需要测试一个DateTime是在各个单位的某个单位时间的开始.这是我现在使用的代码:

/// ignoring milliseconds all the way down

bool IsMinute(DateTime dt)
{
  return dt.Second == 0;
}

bool IsHour(DateTime dt) 
{
  return dt.Second == 0 && dt.Minute == 0;
}  

bool IsDay(DateTime dt) 
{
  return dt.Date == dt;
}

bool IsMonth(DateTime dt) 
{
  return dt.Date == dt && dt.Day == 1;
}

bool IsYear(DateTime dt) 
{
  return dt.Date == dt && dt.DayOfYear == 1;
}
Run Code Online (Sandbox Code Playgroud)

有任何改进的想法吗?

c# datetime predicate

0
推荐指数
1
解决办法
302
查看次数

使用Predicate/CreateDelegate有什么问题?

我正在创建一个带代理的简单代码生成器.

为什么我在运行时收到此错误:

绑定目标方法时出错.

在以下代码?

XAML:

<Window x:Class="Parser.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Loaded="Window_Loaded"
    Title="Parser" Height="600" Width="800">

        <TextBox x:Name="Output"
                 VerticalScrollBarVisibility="Visible"
                 Margin="10"/>
</Window>
Run Code Online (Sandbox Code Playgroud)

代码隐藏:

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;

namespace Parser
{
    public partial class Window1 : Window
    {
        private List<string> _fields;

        public Window1()
        {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            _fields = new List<string> { "CustomerID", 
                "CompanyName",
                "ContactName",
                "ContactTitle",
                "Address",
                "City",
                "Region",
                "PostalCode",
                "Country",
                "Phone",
                "Fax"
            };

            Output.Text += ParseFieldsWithMethod("BuildAssignmentLines");
            Output.Text += ParseFieldsWithMethod("BuildEnabledLines");
        }

        private string ParseFieldsWithMethod(string theParseMethod) …
Run Code Online (Sandbox Code Playgroud)

c# delegates predicate

0
推荐指数
1
解决办法
543
查看次数

谓词函子继承自unary_function,这不是一个带有1个参数的函数

我有一个继承自unary_function的仿函数类:

template<class T>
class Matcher : public std::unary_function<T, bool>
{
private:
    int m_match;

public:
    Matcher(int valToMatch) : m_match(valToMatch) { };
    bool operator() (T toTest)
    {
        return T.prop == m_match;
    }
}
Run Code Online (Sandbox Code Playgroud)

使用以下某项功能的功能:

void DoStuff(std::unary_function<ThisType, bool> & pred, 
             vector<ThisType> & stuffToTest)
{
    for(vector<ThisType>::iterator it = stuffToTest.begin();
        it != stuffToTest.end(); ++it)
    {
        if(pred(*it))      // <<< Compiler complains here
        {
             // do stuff
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

原始呼叫功能:

Matcher myMatcher<ThisType>(n);
// have vector<ThisType> myStuff
DoStuff(myMatcher, myStuff);
Run Code Online (Sandbox Code Playgroud)

据我所知,我有一个模板化仿函数,我正在构建一个具有ThisType类型的实例,我将其传递给期望unary_function参数的函数,并使用ThisType实例调用.

但是编译器抱怨说"术语不会评估为带有1个参数的函数".

我错过了什么?

c++ stl predicate functor

0
推荐指数
1
解决办法
570
查看次数

使用谓词动态过滤List

我有以下字符串列表:

{"纽约","伦敦","巴黎","柏林","纽约"}

我正在尝试使用Guava库,我希望以这样的方式过滤此列表,我将只获得将等于我将提供的字符串的字符串.如果我有一个固定值,让我们说"纽约",我会做以下事情:

Predicate<String> myCity = new Predicate<String>() {
    @Override public boolean apply(String city) {
        return city == "New York";
    }               
};
Run Code Online (Sandbox Code Playgroud)

但是,如果我希望return语句是这样的:

return city == myStringVariable

我可以将该城市的论据提供给Predicate或以某种方式结合两个谓词吗?

java predicate guava

0
推荐指数
2
解决办法
4687
查看次数