问题列表 - 第7901页

在gprolog中声明谓词动态

我在Prolog中有这个代码:

dynamic(player_at/1).
player_at(house).
goto(X) :- retract(player_at(house)), assert(player_at(X)).
Run Code Online (Sandbox Code Playgroud)

但我仍然得到这个错误:

uncaught exception: error(permission_error(modify,static_procedure,player_at/1),retract/1)
Run Code Online (Sandbox Code Playgroud)

当我执行goto(foo)时.

我已经阅读了动态文档,但我无法弄清楚如何使用它,至少在gprolog中.我错过了什么吗?

prolog

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

为什么人们使用纯XML数据库而不是普通的RDBM?

你们当中有多少人实际使用纯XML数据库而不是RDBM?前者似乎正在获得动力,但我不明白其优势.有人在乎解释吗?

xml database

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

.Net相当于旧的vb left(字符串,长度)函数?

作为一个非.net程序员,我正在寻找旧的vb函数的.net等价物left(string, length).它很懒,因为它适用于任何长度的字符串.正如预期的那样,left("foobar", 3) = "foo"最有帮助的是,left("f", 3) = "f".

在.net中string.Substring(index, length)抛出异常超出范围的所有内容.在Java中,我总是使用Apache-Commons lang.StringUtils.在Google中,我不太了解字符串函数.

编辑:

@Noldorin - 哇,谢谢你的vb.net扩展!我第一次遇到,虽然我花了几秒钟在c#中做同样的事情:

public static class Utils
{
    public static string Left(this string str, int length)
    {
        return str.Substring(0, Math.Min(length, str.Length));
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意静态类和方法以及this关键字.是的,它们就像调用一样简单"foobar".Left(3).另请参见msdn上的c#extensions.

.net c# vb.net

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

XSLT:Foreach迭代每个项目,但显示第一个项目的值?

我有一个项目列表,我希望每个项目都成为一个网址.

列表:

 <root>
   <tags>
     <tag>open source</tag>
     <tag>open</tag>
     <tag>advertisement</tag>
     <tag>ad</tag>
   </tags>
 </root>
Run Code Online (Sandbox Code Playgroud)

XSLT:

<xsl:template match="*">
    <div class="tags">
      <xsl:for-each select="/post/tags/tag">
          <a href="#">
            <xsl:value-of select="//tag"/>
          </a>
      </xsl:for-each>
    </div>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

输出:

  <div class="tags"> 
    <a href="#">open source</a> 
    <a href="#">open source</a> 
    <a href="#">open source</a> 
    <a href="#">open source</a> 
  </div> 
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

xslt foreach

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

在WIN32中的"BUTTON"类窗口上显示位图

编辑:我认为在创建子窗口期间(即我的按钮)不会发送WM_CREATE消息.因此,通过在WM_CREATE期间调用SendMessage,我正在向尚未创建的窗口发送消息.现在的解决方案是在WM_SHOWWINDOW消息期间调用SendMessage().子窗口是否在创建时发送WM_CREATE消息?

为什么按钮上没有显示位图?位图为180x180像素.

我有一个资源文件:

Bit BITMAP bit.bmp
Run Code Online (Sandbox Code Playgroud)

然后我创建了主窗口和一个子"BUTTON"窗口,其中包含:

HWND b, d;

b = CreateWindow(L"a", NULL, WS_OVERLAPPEDWINDOW, 0, 0, 500, 500, 0, 0, 
                  hInstance, 0);

d = CreateWindow(L"BUTTON", NULL, WS_CHILD | WS_VISIBLE | BS_BITMAP, 
                 10, 10, 180, 180, b, 200, hInstance, 0);
Run Code Online (Sandbox Code Playgroud)

然后,在我的Windows程序中,我向"BUTTON"窗口发送"BM_SETIMAGE"消息:

HBITMAP hbit; 

case WM_CREATE:    // It works if I change this to: case WM_SHOWWINDOW 

hbit = LoadBitmap(hInstance, L"Bit");

SendMessage(d, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hbit);
Run Code Online (Sandbox Code Playgroud)

LoadBitmap()返回一个有效的句柄,因为它没有返回NULL,我能够使用BitBlt()函数在客户区显示位图.所以我要么没有正确发送消息,要么我没有正确创建"按钮"窗口.

我究竟做错了什么?

谢谢!

c winapi bitmap button

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

在Python中下载网页及其所有资源文件

我希望能够使用Python下载页面及其所有相关资源(图像,样式表,脚本文件等).我(有点)熟悉urllib2并知道如何下载个人网址,但在我开始攻击BeautifulSoup + urllib2之前,我想确保没有相当于"wget --page-requisites http "的Python ://www.google.com ".

具体来说,我有兴趣收集有关下载整个网页所需时间的统计信息,包括所有资源.

谢谢马克

python wget urllib2

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

游戏如何处理已保存的内容?

我在这里没有看到这个问题的答案,这让我害怕它非常简单而且我只是遗漏了一些东西,但是这里有.

背景,随意跳过:几年前我跳过了我的学士学位需要一门课程.理论上它是计算机图形学,但自从我离开它以后,它变得更加游戏开发.这很好,因为对我而言,它比填充算法和翻译更有趣,以及它曾经是什么.这是一个每隔一年才提供的第四年课程,但我已经成功地与该部门进行了交谈,让我对同一主题进行了第四年的独立研究并称之为足够好.

"运行"独立研究的教授没有教授实际的计算机图形学课程,所以虽然他是一个聪明的家伙,但这不是他的领域.所以我的大部分问题留给我,一本教科书和互联网.你知道......就像一个独立的研究应该.:)

/背景

我有一个喜欢开发游戏系统以获得乐趣的伙伴.我计划参加他的一款桌面游戏并将其变成使用XNA的电脑游戏.

我没有预见到游戏机制会遇到任何难以克服的挑战,但我很好奇的是大多数游戏如何保存他们的内容?我的意思是在几个方面,希望我可以清楚地表达它们.

以您曾经玩过的任何RPG为例.您可以点击"保存"按钮并保存世界,您的角色信息以及其他必要信息.然后,您可以点击"加载"按钮并将其恢复.

或者是全国人大对话的情况.当我碰到Merchant#853时,他随机吐出3个不同的问候之一.

还有其他我能想到的,但它们实际上只是同一主题的变体.即使有这两个例子,在我看来也可以使用相同的机制,但那个机制是什么?

我已经做了多年的网络开发,所以我的脑海里会自动跳到"数据库!".数据库是解决任何问题的方法.我可以看到它在这里如何工作,但开销似乎很陡峭."这是我的6mb编译游戏......哦和68mb MySQL安装." 或者甚至更糟,因为我正在使用XNA,也许我需要找到一种捆绑SQL Server的方法.:)

我想也许是XML,但这对我来说也不合适.如果我想在XBox上运行它会如何工作?还是Zune?(这些对于我正在做的事情来说不是必需的,但必须有一个解决方案,将其考虑在内.)

谁知道秘密?或者还有一些想法?

谢谢Jeff

database xna

13
推荐指数
3
解决办法
7698
查看次数

如何使用Perl将MySQL表的内容转储到文件?

将MySQL表转储到Perl文件的最佳方法是什么?

我一直在用:

open( FILE, ">$filename" );
my $sth=$dbh->prepare("select * from table");
$sth->execute();
while ( my $row = $sth->fetchrow_arrayref ) {
    print FILE join( "|", @$row ), "\n";
}
Run Code Online (Sandbox Code Playgroud)

mysql perl

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

为什么JVM启动缓慢?

与CPython等其他运行时相比,究竟是什么让JVM(特别是Sun的实现)运行缓慢?我的印象是,无论是否需要,它主要与一大堆图书馆的装载有关,但这似乎不需要花费10年的时间来修复.

想想看,JVM的启动时间与Windows上的CLR相比如何?Mono的CLR怎么样?

更新:我特别关注Unix中常见的小型实用程序的用例.Java现在适合这种风格吗?无论Java发生什么样的启动开销,它是否会为每个Java进程加起来,或者开销只是真正体现在第一个进程中?

java performance jvm startup

54
推荐指数
3
解决办法
3万
查看次数

隐式(默认)值与显式值

依赖隐式默认值是不好的做法,例如:

class Node
{
    int red;
    int green;
    int blue;

    bool grayscale;

    Node next;
}
Run Code Online (Sandbox Code Playgroud)

而不是明确地设置它们:

class Node
{
    int red = 0;
    int green = 0;
    int blue = 0;

    bool grayscale = false;

    Node next = null;
}
Run Code Online (Sandbox Code Playgroud)

.net c#

5
推荐指数
3
解决办法
806
查看次数

标签 统计

.net ×2

c# ×2

database ×2

bitmap ×1

button ×1

c ×1

foreach ×1

java ×1

jvm ×1

mysql ×1

performance ×1

perl ×1

prolog ×1

python ×1

startup ×1

urllib2 ×1

vb.net ×1

wget ×1

winapi ×1

xml ×1

xna ×1

xslt ×1