问题列表 - 第17721页

使用Perl的Template.pm,我如何从数组中选择一个随机元素并输出它?

假设我的模板中有以下内容:

[%- pages = [ 'one', 'two', 'three' ] -%]

<p>Go to page [%- ... -%]</p>
Run Code Online (Sandbox Code Playgroud)

假设EVAL_PERL成立(即我不能使用[%- PERL -%]块),我需要什么把里面[%- ... -%]的上方,从而得到下面的输出?

<p>Go to page "a randomly picked element of pages"</p>
Run Code Online (Sandbox Code Playgroud)

perl template-toolkit

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

匹配行存在于另一个表中时的UPDATE行

我需要更新表上的字段,只有当另一个表中存在匹配的行时才更新,对于主表中当前列为空的所有行.

这是我想要实现的目标的描述:

UPDATE [LenqReloaded].[dbo].[Enquiry] A 
SET [ResponseLetterSent] = 1
WHERE [ResponseLetterSent] IS NULL
   AND EXISTS
       (
           SELECT * FROM [LenqReloaded].[dbo].[Attachment] B 
           WHERE A.[EnquiryID] = B.[EnquiryID]
       )
Run Code Online (Sandbox Code Playgroud)

这在语法上是不正确的.

我无法通过IF EXISTS ...语句对其进行编码,因为我没有[EnquiryID]而没有从表中读取数据.

我该如何格式化UPDATE语句?

sql t-sql

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

尝试创建不同大小的数组时,Java OutOfMemoryError消息会发生更改

在DKSRathore的问题中如何模拟Out of memory:请求的数组大小超过VM限制在创建数组时注意到一些奇怪的行为.

创建大小为Integer.MAX_VALUE的数组时,会java.lang.OutOfMemoryError Requested array size exceeds VM limit引发错误异常.

但是,如果创建的数组大小小于max但仍高于虚拟机内存限制,则会读取错误消息java.lang.OutOfMemoryError: Java heap space.

进一步测试我设法缩小错误消息更改的位置.

long[] l = new long[2147483645];
Run Code Online (Sandbox Code Playgroud)

异常消息显示"请求的数组大小超过VM限制"

long[] l = new long[2147483644];
Run Code Online (Sandbox Code Playgroud)

异常消息显示"Java堆空间错误"

我增加了我的虚拟机内存并仍然产生了相同的结果.

有谁知道为什么会这样?

一些额外的信息:

Integer.MAX_VALUE = 2147483647
Run Code Online (Sandbox Code Playgroud)

编辑:这是我用来查找值的代码,可能会有所帮助:

int max = Integer.MAX_VALUE;
boolean done = false;
while (!done) {
    try {
        max--;
        // Throws an error
        long[] l = new long[max];
        // Exit if an error is no longer thrown
        done = true;
    } catch (OutOfMemoryError e) …
Run Code Online (Sandbox Code Playgroud)

java memory

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

InetAddress.getLocalHost()抛出UnknownHostException

我正在不同的操作系统上测试我们的服务器应用程序(编写的Java),并认为由于良好的Java集成,OpenSolaris(2008.11)将是最不麻烦的.事实证明我错了,因为我最终得到了一个UnknownHostException

try {
  computerName = InetAddress.getLocalHost().getHostName();
  if (computerName.indexOf(".") > -1)
    computerName = computerName.substring(0,
        computerName.indexOf(".")).toUpperCase();
} catch (UnknownHostException e) {
  e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

输出是:

java.net.UnknownHostException: desvearth01: desvearth01
    at java.net.InetAddress.getLocalHost(InetAddress.java:1353)
Run Code Online (Sandbox Code Playgroud)

但是,nslookup desvearth01返回正确的IP地址,并按预期nslookup localhost返回127.0.0.1.此外,相同的代码在FreeBSD上完美运行.我不知道OpenSolaris有什么特别之处吗?

任何提示都表示赞赏,谢谢.

java freebsd opensolaris

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

提交时如何评估Git配置?

我正在设置My First Git Repo,并且正在运行;

git config --list
Run Code Online (Sandbox Code Playgroud)

我注意到我的某些配置值有多个条目;

core.autocrlf=input
[...]
core.autocrlf=false
Run Code Online (Sandbox Code Playgroud)

我猜这些值加倍,因为它们出现在多个配置文件(系统,全局,文件)中.我的问题是,哪些值优先?配置文件是否逐行读取,最后一个条目是否在提交期间使用?

git configuration

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

所有应用程序窗口的WPF图标

可以设置一个Icon,以便在当前应用程序的每个窗口中使用它.所以我设置了一次(不是手动每个窗口)..?

wpf icons window

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

escapeshellarg和escapeshellcmd有什么区别?

PHP有两个密切相关的函数,escapeshellarg()escapeshellcmd().他们似乎都做类似的事情,就是帮助一个字符串更安全的使用system()/ exec()的/ etc.

我应该使用哪一个?我只是希望能够接受一些用户输入并在其上运行命令,而不是让一切都爆炸.如果PHP有一个exec-type-function,它接受了一个绕过shell的字符串数组(比如argv),我会使用它.类似于Python的subprocess.call()功能.

php shell subprocess process exec

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

在Git中使用Winmerge来编写diff

有没有办法在git中使用Winmerge来做Diffs?

git diff winmerge msysgit

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

正则表达式与特定字符串不匹配

我的用例如下:我想找到所有与此类似的东西/name.action,但最后一部分不是.action例如:

  • name.actoin - 应该匹配
  • name.action - 不应该匹配
  • nameaction - 不应该匹配

我有这个:
/\w+.\w*
匹配用点分隔的两个单词,但我不知道如何添加'和不匹配.action'.

regex

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

在随机集中查找最接近的数字

假设我在0到100之间有一组10个随机数.

操作员还给我一个介于0和100之间的随机数.然后我找到了集合中与操作员给我的数字最接近的数字.

set = {1,10,34,39,69,89,94,96,98,100}

操作员编号= 45

return = 39

如何将其转换为代码?(javascript或其他)

algorithm math set

4
推荐指数
2
解决办法
7740
查看次数