标签: rules

如何强制所有派生类实现抽象方法或属性?

所有具体类都必须实现抽象函数.

有时您希望强制所有派生类实现抽象函数,甚至是具体类的派生.

class Base { protected abstract Base Clone(); }
class Concrete : Base { protected override Base Clone(){...}; }
class Custom : Concrete {}
Run Code Online (Sandbox Code Playgroud)

我希望编译器告诉程序员该类Custom需要实现Clone().有办法吗?

.net c# rules

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

决策表的本机Java解决方案

我正在与一位受人尊敬的同事讨论一个有趣的讨论,并希望得到一些额外的意见......

我需要在我的应用程序中实现一些基本的决策表逻辑.我当时希望使用OpenL Tablets来表示Excel电子表格中的决策数据.我喜欢它,它易于设置和维护,并且具有较小的内存和处理空间.我可以轻松添加新表,我有一些表超过100行,最多10个条件.这些数据非常静态,很少发生变化.

我的同事不希望在混合中引入第三方API,并对与Microsoft文件格式绑定有所保留.

我看到他的观点,但我能看到通过Java实现决策表的唯一方法是编写一系列丑陋的if或case语句,这对于较小的表来说很好,但是当我到达更大的表时会变得难以管理.

有没有人对论点的双方都有任何评论.如果有人对可以解决我在本机Java中的问题的模式有任何想法,我会有兴趣听到它.

非常感谢你的时间.

java rules decision-tree

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

以下规则设计的其他解决方案是什么?

我想基本上为某些类对象创建一个简单的验证系统

public interface IMyClassRule {
    bool IsValid(MyClass obj, Context someAdditionalData)
}
Run Code Online (Sandbox Code Playgroud)

使用DI框架自动发现规则列表,而不是事先修复.

假设我有一个VeryGeneralDefaultRuleAboutAllObjects : IMyClassRuleSpecificCaseWhenGeneralRuleDoesNotApply : IMyClassRule.如何以通用方式处理此解决方案(在某些情况下基本上允许通过任何其他规则覆盖任何规则)?

解决方案我考虑过

  1. 规则或规则结果的数字优先级

    专业:易于理解和实施.
    反对:我需要知道/猜测原规则的优先级.不明显哪个优先(1或1000)?对于不适用特定情况的情况,需要一些"不关心"规则结果.

  2. 基于类型的优先级(基本.Before<VeryGeneralRule>)

    :具体说明你想要实现的目标.
    Contra:需要明确引用原始规则.订购逻辑将很复杂.对于不适用特定情况的情况,需要一些"不关心"规则结果.

还有其他/更好的选择吗?

c# rules

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

在makefile中使用多个源文件扩展名

我有一个c ++项目,其中包含源文件(.cpp,.c,.cc)的各种扩展以及头文件的各种扩展(.hpp,.h,.hh).源文件位于名为SRC的目录中,并且头文件可预测地位于名为INC的目录中.

我想用像这样的规则编译源代码

vpath %.c $(SRC)

%.o: %.c
    $(COMPILER) $(FLAGS) $< $(INCFLAG)$(INC)
Run Code Online (Sandbox Code Playgroud)

这当然有效,如果我知道源文件的格式为%.c,但在多个可能的文件扩展名的情况下,我还需要为%.cpp和%.cc构建类似的规则.当然,编写三个规则并不是什么大不了的事情,但是能够将这个makefile用作任何项目的拖放,即使是在不同的语言中也是如此,而不必重新编写规则.

那么如何编写一个规则(或其他一些实现相同目标的构造),其工作方式如下:

SRC_EXT = cpp c cc
vpath %.$(SRC_EXT) $(SRC)

%.o: %.$(SRC_EXT)
    $(COMPILER) $(FLAGS) $< $(INCFLAG)$(INC)
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

file-extension makefile rules

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

查找此图片中可能的方块数

以下是我今天遇到的视觉问题.这里的问题只是图片中有多少个正方形.

你怎么会通过代码来解决这样的问题呢?此外,如果未处理实际图片,您将如何进行建模?

方块拼图

PS:我觉得实际的分辨率需要一个规则来定义什么可以被视为一个正方形.可以说,两边的长度相等,并且可以由任意数量的段组成,只要它们适合于封闭的正方形.我不确定你怎么能代表一个职位.

language-agnostic algorithm rules

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

标准函数的函数指针和成员函数指针有哪些规则?

将函数指针或成员函数指针带到标准函数的现有规则是什么?例如,像

auto p = &std::string::size;
Run Code Online (Sandbox Code Playgroud)

这合法吗?如果我明确地请求了正确的类型,它会或多或少是合法的,所以即使有额外的实现添加重载,它也会起作用std::string::size吗?

c++ member-function-pointers rules member-functions standard-library

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

你如何预编译Drools规则?

我想将我的.drl文件预编译为.class文件,这样就不必在运行时编译它们.该文档使听起来像kie-maven-plugin这样做,但它不会为我生成任何东西.它编译规则文件但不输出任何内容.有什么建议?

我正在使用mvn package命令,我的pom.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.kie</groupId>
    <artifactId>kie-parent-with-dependencies</artifactId>
    <version>6.0.1.Final</version>
    <!-- relativePath causes out-of-date problems on hudson slaves -->
    <!--<relativePath>../droolsjbpm-build-bootstrap/pom.xml</relativePath>-->
  </parent>

  <packaging>kjar</packaging>
  <artifactId>default-kiesession</artifactId>
  <name>Drools API examples - Default KieSession</name>

  <dependencies>
    <dependency>
      <groupId>org.drools</groupId>
      <artifactId>drools-compiler</artifactId>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.kie</groupId>
        <artifactId>kie-maven-plugin</artifactId>
        <version>6.0.1.Final</version>
        <extensions>true</extensions>
        <dependencies>
          <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.6.1</version>
          </dependency>
      </dependencies>
      </plugin>
    </plugins>
  </build>

  <repositories>
    <!-- Bootstrap repository to locate the parent pom when the parent pom has not been build locally. -->
    <repository> …
Run Code Online (Sandbox Code Playgroud)

rules drools precompile

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

了解Scrapy的CrawlSpider规则

我无法理解如何在我自己的Spider中使用继承自CrawlSpider的规则字段.我的蜘蛛正试图爬过旧金山披萨的黄页列表.

我试图保持我的规则简单只是为了看看蜘蛛是否会爬过响应中的任何链接,但我不认为它发生了.我唯一的结果是它产生了下一页的请求,然后产生对后续页面的请求.

我有两个问题: 1.在收到响应时,蜘蛛在调用回调之前是否先处理规则?或相反亦然? 2.什么时候适用规则?

编辑: 我明白了.我从CrawlSpider覆盖了解析方法.在查看该类中的解析方法后,我意识到这是检查规则并通过这些网站进行爬网的地方.

注意:知道你要覆盖的是什么

这是我的代码:

from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy import Selector
from yellowPages.items import YellowpagesItem
from scrapy.http import Request

class YellowPageSpider(CrawlSpider):
    name = "yellowpages"
    allowed_domains = ['www.yellowpages.com']
    businesses = []

    # start with one page
    start_urls = ['http://www.yellowpages.com/san-francisco-ca/pizza?g=san%20francisco%2C%20ca&q=pizza']

    rules = (Rule (SgmlLinkExtractor()
    , callback="parse_items", follow= True),
    )

    base_url = 'http://www.yellowpages.com'

    def parse(self, response):
        yield Request(response.url, callback=self.parse_business_listings_page)

    def parse_items(self, response):
        print "PARSE ITEMS. Visiting %s" % response.url
        return …
Run Code Online (Sandbox Code Playgroud)

python rules web-crawler scrapy

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

Firebase用户全部读取,写入新内容,但只修改自己的数据

我在Firebase上有下一个场景:

有两件事,用户事件.

我希望用户能够创建新事件,查看所有现有事件,但只能修改由他们创建的事件.

这意味着UserOne创建了EventOne,可以看到EventOne和EventTwo,但只能修改EventOne.

我的结构如下:

-events
 -eventOne
    endTime: 
    id: 
    name: 
    providerId: 
    startTime: 
    userId: 
 -eventTwo
    endTime: 
    id: 
    name: 
    providerId:  
    startTime: 
    userId: 
-users
    -userOne
    -userTwo
Run Code Online (Sandbox Code Playgroud)

我目前的规则几乎是默认规则:

{
  "rules": {
    "users": {
      "$uid": {
        // grants write access to the owner of this user account whose uid must exactly match the key ($uid)
        ".write": "auth !== null && auth.uid === $uid",
        // grants read access to any user who is logged in with an email …
Run Code Online (Sandbox Code Playgroud)

authentication rules firebase

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

使用 Svelte:如何将组件样式放入单独的文件中,但范围仍限于该组件

我正在开发一个表格组件,该组件可以在我的任何项目中使用(当它可以正常工作时包含在库中)。由于有很多与该组件相关的 css 规则,我想将样式放在组件 svelte 文件之外。我所做的是编写一个单独的 css 文件,通过以下方式将其导入到组件 svelte 文件中:

import './table.css'; 
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我可以在构建的bundle.css文件中看到我的规则,但这些规则不适用于我的组件。所以我想知道是否有办法按照我的意愿去做......

css components scope rules svelte-3

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