标签: declarative

ASP.NET高手:如何在aspx里面的head部分插入标记?

我知道我可以访问以这种方式编程使用母版页的页面的head部分(在代码后面):

只是一个例子(我想插入脚本和样式等):

this.Header.Title = "I just set the page's title";
Run Code Online (Sandbox Code Playgroud)

在aspx文件本身中是否有一种以声明方式执行此操作的简单方法?

有时,将客户端脚本样式声明或链接插入外部资源会很方便.

asp.net master-pages header declarative

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

Java/Swing中表单的声明性验证

我使用Java在Swing上进行客户端开发.我喜欢Swing; 我相信它是那里更好的GUI框架之一.然而,我想念的是对声明性验证的支持.喜欢XForms的这个片段.

您是否知道任何允许以声明方式验证表单中数据输入的库,而不是为每个组件编写丑陋的验证文档侦听器?

java validation swing declarative

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

SQLAlchemy对声明性类的内省

我正在编写一个小的sqlalchemy垫片来从MySQL数据库导出数据,其中包含一些轻量级数据转换 - 主要是更改字段名称.我当前的脚本运行正常,但要求我基本上在类声明中两次描述我的模型,一次作为字段名称列表进行迭代.

我试图弄清楚如何使用内省来识别作为列访问器的行对象的属性.以下工作几乎完美:

for attr, value in self.__class__.__dict__.iteritems():
    if isinstance(value, sqlalchemy.orm.attributes.InstrumentedAttribute):
        self.__class__._columns.append(attr)
Run Code Online (Sandbox Code Playgroud)

除了我的to-many关系访问器也是sqlalchemy.orm.attributes.InstrumentedAttribute的实例,我需要跳过这些.在检查班级词典时,有没有办法区分这两者?

我在sqlalchemy内省上发现的大多数文档都涉及到metadata.table,但由于我正在重命名列,因此这些数据并不是可以轻易映射的.

python sqlalchemy introspection declarative

7
推荐指数
2
解决办法
2285
查看次数

如何以智能方式在多个OSGi服务中选择运行时?

我想到了一个可以动态选择可用的OSGi服务的智能系统.也就是说,根据某些运行时参数选择一个或另一个实现.例如,通知运行的算法,该算法在多次迭代后更改运算符,或者取决于系统中的负载平衡或其他任何操作.

while(stopCriterion){
    operator.doSomething(); //There exist many operator implementations
}
Run Code Online (Sandbox Code Playgroud)

我的第一种方法是使用DS公开服务并使用0..n和动态策略绑定服务.然后,从外部智能组件,通知算法在每次迭代中使用哪种服务(使用EventAdmin,可能?).

operator[selected].doSomething();
Run Code Online (Sandbox Code Playgroud)

当必须执行许多不同服务实现的许多实验时,这可以帮助我降低复杂性.此外,我计划将远程服务规范与Eclipse Communication Framework一起用于研究分布式算法和那些东西,因此也可以在执行时间内动态显示新实现

但是,我不知道这是一个好主意还是存在另一种更好的机制来动态选择使用哪种实现.我认为使用ServiceTracker而不是DS不是一个好选择,但我愿意接受建议:)

提前致谢.

java service osgi declarative

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

如何在Java字节码中表示java注释

我试图反编译包含JUnit测试的.class文件.我读了字节码,但是我没有看到@Test注释的任何线索(它在java源代码中使用).

作为元数据,如何在字节码中表示注释?

java annotations decompiling bytecode declarative

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

以声明方式解决河内塔(Prolog)

我的教授将此作为Prolog的一个例子.这是一个解决河内之塔拼图的程序,你必须将一堆磁盘移动到另一个挂钩,方法是将一个磁盘移动到另一个磁盘上,而不是在较小的磁盘上放置一个更大的磁盘.

现在,我不喜欢那个节目.我被告知Prolog是用于声明性编程的.我不想编程如何解决问题,我想用Prolog写下问题什么.然后让Prolog解决它.

到目前为止我的努力可以在下面找到.有两种类型的我使用列表,一个行动顺序是这样表示:[[1,2],[3,1]]; 这将是"将顶部磁盘从挂钉1移动到挂钉2,将磁盘从挂钉3移动到挂钉1".我的第二种类型的列表是一个状态,例如,如果有三个挂钩[[1,2,3], [], []]意味着第一个挂钩上有三个磁盘.较小的磁盘具有较小的数字,因此内部列表的前面是堆栈的顶部.

% A sequence of actions (first argument) is a solution if it leads
% from the begin state (second argument) to the End state (third argument).

solution([], X, X).

solution([[FromIdx | ToIdx] | T], Begin, End) :-
    moved(FromIdx, ToIdx, Begin, X),
    solution(T, X, End).

% moved is true when Result is the resulting state after moving
% a disk from FromIdx to …
Run Code Online (Sandbox Code Playgroud)

declarative prolog towers-of-hanoi dcg clpfd

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

为什么Haskell完全声明?

我不太了解命令式声明性编程范式之间的区别.我读到Haskell是一种声明性语言.在某种程度上,我会说是的,但是在命令的定义方面有一些困扰我的东西.

当我有一个数据结构并使用Haskell的函数进行转换时,我实际上只是告诉了要转换的内容.所以我将datastruct作为函数的参数给出,并对结果感到满意.

但是,如果没有功能真正满足我的需求呢?

我会开始编写一个自己的函数,它希望datastruct作为参数.之后,我将开始编写如何处理数据结构.因为我只能调用本机Haskell函数,所以我仍然使用声明性范例吗?但是,当我开始使用"if语句"时.这不会结束声明性质,因为我要告诉程序如何从那一点做事情?

haskell declarative

7
推荐指数
3
解决办法
1834
查看次数

如何在Prolog中将if转换为完全声明?

这是我的课堂问题之一.

题

我能够用if-else创建我自己的Prolog程序,但我被告知我的程序并不是完全声明的,因为它是Prolog中最基本的原则之一.

这是我的代码

%start with :- go.
is_spicy :-
  write('Do you want spicy? (yes/no)'),
  read(Preference),
  ( Preference == yes -> recommend("Curry"); recommend("Kurma") ).

is_fry :-
  write('Do you want fry food? (yes/no)'),
  read(Preference),
  ( Preference == yes -> recommend("StirFry"); recommend("Chicken") ).

is_chili :-
  write('Do you want chili? (yes/no)'),
  read(Preference),
  ( Preference == yes -> recommend("Sambal"); recommend("Singgang") ).

recommend(Food) :- write('We recommend you '), write(Food).

go :-
  write('Which food type do you prefer? (indian, chinese, malay): '),
  read(FoodType),
  (
    FoodType == indian …
Run Code Online (Sandbox Code Playgroud)

declarative prolog logical-purity

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

WF,WCF和声明性服务(或者:微软的"声明性"是什么意思?)

我已经制作了这个社区Wiki,因为有些人可能认为它可以辩论,其他人可能会认为这是一个用词来表示他们真正意义的问题(换句话说,这是一个意见问题,这是一个意见问题).

关于声明性编程的SO有一个普遍的问题,它有一些很好的答案.

但是我对微软福音传道者的这篇博文有点不满.

声明性编程的一个优点是,您可以指出您想要做什么,而不是如何做.

到目前为止,这么好 - 事实上,这与SO问题上接受的答案完全一致.

但是请查看有关"服务实施"的部分,

您可以查看几十行xaml代码,并能够确定如何配置WCF服务以及如何定义相应的工作流.

看了一些例子后,让我简单回答一下,说"不,我不能".但是,不要轻率地解雇这些东西,让我们看看文档.

这需要一段时间,但最终现实已经赶上了讽刺 ......但这不是重点 - 当然他们并没有认真地建议这样做来揭露像添加这样的微不足道的东西.我也不是在抱怨荒谬的冗长,以及任何人都会手写这样的东西的奇怪想法 - 它看起来更像是编译器的输出而不是人类可读的语言.

对我来说,难题是声称这是"声明性的".然而它的核心是一个任务声明.

还有更多:

声明性服务在XAML中以声明方式定义,并提供另一层抽象.基本上,您可以通过定义服务要执行的操作而不是如何执行操作来创建服务模型.整个服务可以以声明方式定义,包括操作的实现.

因此,如果我们说声明性声明性三次,那就使它成为声明性的.疑难杂症.如果我们说出"你想做什么而不是怎么做"的神奇短语,那么我们可以忽略一点,在下一句话中,我们将指定"操作的实施",所以我们我会准确地说明如何做到这一点.

该页面中的示例是:

<wma:Sequence>
    <wma:WriteLine Text ='[String.Concat(String.Concat(String.Concat(String.Concat("Add(", CType(op1, Object)), ","), CType(op2, Object)), ") called")]' />
    <wma:Assign x:TypeArguments="xs:Int32" To="[result1]" Value="[op1 + op2]" />
</wma:Sequence>
Run Code Online (Sandbox Code Playgroud)

也就是说,整个事情(包括我从WF示例中删除的大量垃圾)恰恰相当于:

void Add(int op1, int op2, out int result1)
{
    Console.WriteLine("Add(" + op1 + ", " + op2 + ") called");
    result1 = op1 + op2; …
Run Code Online (Sandbox Code Playgroud)

wcf declarative workflow-foundation

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

如何停止递归?

代码的出现第1天需要以一种或那种形式循环一长串括号等((((())(())(((()))((.这个想法是(上升到一层,)下到一层,目标是打印

  1. 字符串中第一个索引,其中楼层编号为负数
  2. 找到字符串结尾时的最后一层.

使用for循环的命令式解决方案很简单(以Python为例):

def main():
    flr = 0
    basement = False
    for idx, elt in enumerate(text):
        flr += {
            "(": 1,
            ")": -1
        }.get(elt)

        if flr < 0 and not basement:
            print("first basement pos:", idx + 1)
            basement = True

    print("final floor:", flr)
Run Code Online (Sandbox Code Playgroud)

递归函数解决方案稍微复杂一点,但仍然不太难.

def worker(flr, txt, idx, basement):
    flr += {"(": 1, ")": -1}[ txt[0] ]

    if not (len(txt) - 1): return flr

    if flr < 0 and not basement:
        print("first …
Run Code Online (Sandbox Code Playgroud)

recursion functional-programming declarative factor-lang

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