我读过"什么是图灵完整"和维基百科页面,但我对正式证据不太感兴趣,而不是图灵完全的实际意义.
我实际上要确定的是,我刚刚设计的玩具语言是否可以用作通用语言.我知道我可以证明我是否可以用它来编写图灵机.但是,在我确信成功之前,我不想进行这项运动.
有没有最低限度的功能,没有图灵完整性是不可能的?是否有一系列功能几乎可以保证完整性?
(我的猜测是条件分支和可读/可写的内存存储将使我的大部分方式)
编辑:
我想我已经说过"图灵完成"了.我试图以合理的信心猜测具有特定功能集的新发明的语言(或者具有特定指令集的VM)将能够计算任何值得计算的东西.我知道证明你可以用它建立图灵机是一种方式,但不是唯一的方法.
我所期待的是一套类似的准则:"如果可以做X,Y和Z,它可以或许做任何事情".
在XML中,如何表示列表?
使用封闭列表实体:
<person>
<firstname>Joe</firstname>
<lastname>Bloggs</lastname>
<children>
<child .../>
<child .../>
<child .../>
<child .../>
<child .../>
</children>
</person>
Run Code Online (Sandbox Code Playgroud)
或者没有:
<person>
<firstname>Joe</firstname>
<lastname>Bloggs</lastname>
<child .../>
<child .../>
<child .../>
<child .../>
<child .../>
</person>
Run Code Online (Sandbox Code Playgroud) 更新!
绑定工作.问题是XpsDocumentWriter没有正确编写FixedDocumentSequence的第一个文档的第一页.这似乎是很多人在做这类事情时遇到的问题(即全世界有五个开发人员).解决方案有点奇怪.我把它作为答案包括在内.
好吧,它比问题暗示的更微妙.
我有一系列的FixedPages,每个都有单独的DataContext设置.每个FixedPage还有一个或多个绑定到上下文的控件.
如果我将这些FixedPages添加到单个FixedDocument并将此单个FixedDocument写入XpsDocument,我的绑定将被取消引用(可以这么说),并且正确的值将显示在XpsDocument中.
如果我将这些FixedPages添加到单个FixedDocuments(每个FP添加到一个新FD),然后将这些FixedDocuments添加到FixedDocumentSequence,然后将此序列写入XpsDocument,我的绑定不会被引用,我的FixedPages显示为空白.
调试告诉我,我没有丢失绑定或绑定上下文,所以这不是导致失败的原因.
这里有一些示例代码来说明正在发生的事情:
// This works
FixedPage fp = CreateFixedPageWithBinding();
fp.DataContext = CreateDataContext();
// Add my databound fixed page to a new fixed document
var fd = new FixedDocument();
var pc = new PageContent();
((IAddChild)pc).AddChild(fp);
fd.Pages.Add(pageContent);
// Create an xps document and write my fixed document to it
var p = Package.Open("c:\\output.xps", FileMode.CreateNew);
var doc = new XpsDocument(p);
var writer = XpsDocument.CreateXpsDocumentWriter(doc);
wri2.Write(fd);
p.Flush();
p.Close();
// This does NOT work
FixedPage fp = CreateFixedPageWithBinding();
fp.DataContext …Run Code Online (Sandbox Code Playgroud) data-binding fixedpage xps fixeddocument fixeddocumentsequence
我想得到一个简单的Python"hello world"网页脚本,可以在Windows Vista/Apache上运行,但可以使用不同的墙.我正在使用WAMP.我已安装mod_python并且模块显示,但我不太确定我应该在http.conf中做什么(像AddHandler mod_python .py之类的东西要么把我带到一个未找到的文件,要么是禁止的,或模块访问http://localhost/myfolder/index.py时未找到错误.我可以mod_python.publisher上班,但我"想要"这个/需要这个吗?
有人可以帮忙吗?
谢谢!
当我从Internet Explorer打印网页时,它会自动添加页眉和页脚,包括网站标题,URL,日期和页码.
是否可以使用Javascript或CSS以编程方式隐藏页眉和页脚?
要求:
谢谢
我希望在较大的矩形(整页宽)内有一些看起来和表现为超链接的东西,这也是超链接.下面是ASCII-art表示它应该是什么样子:
|-------------------------------------------| | Some text [_link_] | |-------------------------------------------|
整个外部矩形(块元素)是超链接.在这个矩形内部应该有一些文本,在这个文本的末尾应该有另一个链接.
不幸的是,嵌套链接(A元素)在(X)HTML中是非法的:
12.2.2嵌套链接是非法的
由A元素定义的链接和锚点不得嵌套; A元素不得包含任何其他A元素.
(来自http://www.w3.org/TR/html401/struct/links.html#h-12.2.2),所以最自然的方式实现上面
<a href="xxx" style="display: block">
Some text
<a href="yyy">link</a>
</a>
Run Code Online (Sandbox Code Playgroud)
是无效的HTML.更糟糕的是,某些Web浏览器在某些情况下通过将外部链接元素移动到外部链接元素的闭合元素之外来强制执行此要求.这当然彻底打破了布局.
所以我想问的是如何使用HTML和CSS(但没有JavaScript)来实现上面给出的布局,但是没有 HTML源中的嵌套链接元素.如果行为尽可能接近具有嵌套链接元素的行为(对于在实现HTML标准时不过分严格的浏览器),那将是很好的.
编辑(16-01-2009)
澄清:使用两个以上链接元素的解决方案是完全可以接受的
<a href="xxx" ...>Some text</a>
<a href="yyy" ...>Link</a>
<a href="xxx" ...>& nbsp;</a>
...
Run Code Online (Sandbox Code Playgroud) 所以今天早上我遇到了一些看起来像这样的代码:
try
{
x = SomeThingDangerous();
return x;
}
catch (Exception ex)
{
throw new DangerousException(ex);
}
finally
{
CleanUpDangerousStuff();
}
Run Code Online (Sandbox Code Playgroud)
现在这段代码编译得很好并且可以正常工作,但是从try块中返回它感觉不对,特别是如果最终有关联的话.
我的主要问题是如果最终抛出它自己的例外会发生什么?你有一个返回的变量,但也有一个例外来处理...所以我有兴趣知道其他人在try块中返回的想法?
我有一个遗留类,该类本身不是通用的,但其方法之一返回类型使用泛型:
public class Thing {
public Collection<String> getStuff() { ... }
}
Run Code Online (Sandbox Code Playgroud)
getStuff()使用泛型返回字符串集合.因此我可以迭代,getStuff()不需要将元素转换为String:
Thing t = new Thing();
for (String s: t.getStuff()) // valid
{ ... }
Run Code Online (Sandbox Code Playgroud)
但是,如果我将Thing自己更改为通用但保持其他所有内容相同:
public class Thing<T> {
public Collection<String> getStuff() { ... }
}
Run Code Online (Sandbox Code Playgroud)
然后继续使用非泛型引用Thing,getStuff()不再返回Collection<String>而是返回非类型Collection.因此客户端代码不编译:
Thing t = new Thing();
for (String s: t.getStuff()) // compiler complains that Object can't be cast to String
{ ... }
Run Code Online (Sandbox Code Playgroud)
为什么是这样?解决方法有哪些?
我的猜测是,通过使用对泛型类的非泛型引用,Java会关闭整个类的所有泛型.这很痛苦,因为现在我通过使Thing成为通用来破坏我的客户端代码.
编辑: …
我正在设计一个系统,允许我将广泛的任务表示为工作流,通过IEnumerable方法公开他们的工作项.这里的目的是使用C#的'yield'机制来允许我编写工作流程执行系统可以在其认为合适时执行的伪程序代码.
例如,假设我有一个工作流,包括在数据库上运行查询,并在查询返回特定结果时发送电子邮件警报.这可能是工作流程:
public override IEnumerable<WorkItem> Workflow() {
// These would probably be injected from elsewhere
var db = new DB();
var emailServer = new EmailServer();
// other workitems here
var ci = new FindLowInventoryItems(db);
yield return ci;
if (ci.LowInventoryItems.Any()) {
var email = new SendEmailToWarehouse("Inventory is low.", ci.LowInventoryItems);
yield return email;
}
// other workitems here
}
Run Code Online (Sandbox Code Playgroud)
CheckInventory和EmailWarehouse是派生自WorkItem的对象,它具有子类实现的抽象Execute()方法,封装了这些操作的行为.在工作流框架中调用Execute()方法 - 我有一个WorkflowRunner类,它枚举Workflow(),包围工作项的事件前和事件后,并在事件之间调用Execute.这允许消费应用程序在工作项之前或之后执行它所需的任何操作,包括取消,更改工作项属性等.
我认为,所有这些的好处在于,我可以根据负责完成工作的工作项来表达任务的核心逻辑,而且我可以用一种相当简单,几乎是程序化的方式来完成.另外,因为我使用IEnumerable和C#支持它的语法糖,我可以编写这些工作流程 - 比如使用和操作子工作流程的更高级别的工作流程.例如,我编写了一个简单的工作流程,它只是将两个子工作流交错在一起.
我的问题是 - 这种架构是否合理,特别是从可维护性的角度来看?它似乎为我实现了几个目标 - 自我记录代码(工作流程从程序上读取,所以我知道将在什么步骤中执行什么),关注点分离(找到低库存项目不依赖于向仓库发送电子邮件),此外 - 这种架构是否存在任何潜在问题,我没有看到?最后,这是否曾经尝试过 - 我只是重新发现这个?
这个问题与在Perl中发出HTTP GET请求的最简单方法有什么关系?.
在通过LWP::Simple我发出请求之前,我有一个查询字符串组件的哈希值,我需要序列化/转义.编码查询字符串的最佳方法是什么?它应该考虑空格和需要在有效URI中转义的所有字符.我认为它可能在一个现有的包中,但我不确定如何找到它.
use LWP::Simple;
my $base_uri = 'http://example.com/rest_api/';
my %query_hash = (spam => 'eggs', foo => 'bar baz');
my $query_string = urlencode(query_hash); # Part in question.
my $query_uri = "$base_uri?$query_string";
# http://example.com/rest_api/?spam=eggs&foo=bar+baz
$contents = get($query_uri);
Run Code Online (Sandbox Code Playgroud)