小编Sua*_*uan的帖子

如何在Perl中的单独文件中定义常量?

我有一堆Perl文件,它们接受一些文件名常量.我想在一个单独的文件中定义它们 - 类似于C中的头文件.在Perl中执行此操作的最佳/最标准方法是什么?

perl constants

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

jQuery:检查jQuery对象是否包含(包含)精确的DOM元素

我有一个DOM元素的引用,以及一个jQuery对象,它是一个选择器的结果,我想检查该特定的DOM元素是否在该jQuery对象中.如果没有循环遍历整个jQuery对象并检查是否相等,那么jQuery中有一种直接的方法可以做到这一点吗?

我已经试过.contains,:contains,.has:has,和他们都不做的工作.另外,我应该提到我正在使用的所有元素都在相同的DOM树级别上,所以不必担心父母/孩子.

jquery element contains exists selected

14
推荐指数
2
解决办法
5533
查看次数

是否有与Nokogiri类似的解析Ruby代码的东西?

Nokogiri太棒了.我可以做一些#css('.bla')会返回第一个匹配元素的东西.

现在我们需要对Ruby源代码进行一些解析 - 查找类中的所有方法等.我们使用的是ruby_parser gem,但它只是梳理你的源代码并吐出S表达式.对于这些S表达式有什么像Nokogiri这样的东西可以做"返回S-expression的第一个方法,发现名为'foo'"?

ruby parsing nokogiri s-expression

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

如何匹配bash正则表达式中的"什么都没有"?

我在(t|b|bug_|task_|)1234使用bash正则表达式捕获此格式的字符串中的数字时遇到问题.以下不起作用:

[[ $current_branch =~ ^(t|b|bug_|task_|)([0-9]+) ]]
Run Code Online (Sandbox Code Playgroud)

但是一旦我把它改成这样的东西:

[[ $current_branch =~ ^(t|b|bug_|task_)([0-9]+) ]]
Run Code Online (Sandbox Code Playgroud)

它有效,但当然是错误的,因为它没有涵盖没有前缀的情况.我知道在这种情况下我能做到

[[ $current_branch =~ ^(t|b|bug_|task_)?([0-9]+) ]]
Run Code Online (Sandbox Code Playgroud)

并获得相同的结果,但我想知道为什么第二个例子不起作用.例如,正则表达式似乎在Ruby中工作正常.

(这是GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin11),OSX Lion)

regex bash

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

在<td>的顶部和底部都有元素

我无法让td顶部有一些文字,底部有一个图像按钮.这是与我现在类似的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head></head>
<body>
<table border="1">
  <tr>
    <td valign="top" style="padding:0; height:100%">
      Some text
      <form style="vertical-align: bottom;">
        <input type="submit" value="should be at bottom of td"/>
      </form>
    </td>
    <td>
      This <br />
      This <br />
      This <br />
      This <br />
      This <br />
      This <br />
      This <br />
      This <br />
      This <br />
      This <br />
      This <br />
      This <br />
    </td>
  </tr>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

从技术上讲,我可以通过将第一<td>行分成两行并使用rowspan="2" …

html css html-table cell

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

vim将通过CLI打开的文件添加到:e history

在Vim中,默认情况下,当您输入:e并点击向上箭头时,它会显示以前使用该:e命令打开的文件列表.有没有办法将我从终端打开的文件添加vim <filename>到此列表中?

vim history file command-line-interface

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

Rails的client_side_validations的替代品?

client_side_validations是一个广泛使用的gem,它根据模型的验证自动为Rails的前端创建实时验证.唉,现在似乎没有维护.那里有类似的,维护的替代品吗?

validation ruby-on-rails

6
推荐指数
2
解决办法
2098
查看次数

有没有办法让vim识别文件名末尾的行号?

我几乎只在终端上工作,而且我经常需要查看出现在错误堆栈中的文件.一种非常常见的格式/some/file:99,其中99是行号.我希望能够复制该行,并在vim中轻松打开该行.

我正在寻找的是能够做到的:e /some/file:99,并且vim会在第99行自动打开该文件.这样的事情是否存在?如果没有,是否可以为它编写插件?

vim filenames line-numbers

5
推荐指数
2
解决办法
272
查看次数

使用数据库表的ID作为外部API标识符是一个坏主意吗?

我们正在设计一个带有外部API的HTTP服务,它需要存储一些外部API消费者可能需要稍后检索的项目.所有内容都存储在一个表中foos,当前计划只是使用表的主ID键作为外部唯一标识符.我的直觉告诉我这是一个糟糕的设计,但我无法有效地论证我的情况,部分原因是因为我无法明确说明原因.

以下是迄今为止我能想到的唯一缺点:

  • 如果我们想要更改架构怎么办?我们必须重新填充所有内容,确保其ID保持不变,或在移动过程中实现另一个唯一标识符列
  • 轻微(?)安全风险(我知道,通过默默无闻的安全性等等)

还有其他主要缺点,还是我只是偏执狂?也会欣赏一些链接到发表的文章,谈论这个!

database-design api-design primary-key uniqueidentifier

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

方案早期"短路回归"?

我试图找出如何在使用顶级ifcond类似构造的情况下在方案程序中进行"早期返回" .

(define (win b)
 (let* ((test (first (first b)))
        (result (every (lambda (i) (= (list-ref (list-ref b i) i) test))
                       (enumerate (length b)))))
  (when (and (not (= test 0)) result) test))
 0)
Run Code Online (Sandbox Code Playgroud)

例如,在上面的代码,我想win返回test,如果when条件得到满足,否则返回0.但是,什么情况是,该过程将始终返回0,无论结果的when条件.

我以这种方式构造代码的原因是因为在这个过程中我需要做很多复杂的检查(类似于let*示例中的多个块)并且将所有内容放在一个大的内容cond会非常笨拙.

scheme continuations short-circuiting

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

如何将变量打印到变量而不是STDOUT?

我想使用Ruby pp来"打印"到变量而不是STDOUT.怎么做的?

ruby

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

从Sinatra的管道cURL读取PUT数据

我正在重写Sinatra中的一个小型服务器后端,目前客户端通过cURL调用与它进行通信echo "foo" | curl -X PUT -T - http://localhost:8090/.问题是,在我put在Sinatra的方法中request.body.read,即使在我打电话之后rewind,它总是空的.此外,params哈希是完全空的.

奇怪的是,如果我这样做,curl -X PUT -d 'foo' http://localhost:8090/它就会起作用.另外,在node.js中我可以使用request.on('data')request.on('end')函数读取它.

有没有办法PUT在Sinatra 阅读身体?如果可能的话,我想避免更改客户端代码.

curl pipe put request sinatra

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

为什么我的Perl程序抱怨需要显式的包名?

我有一个模块Routines.pm:

package Routines;
use strict;
use Exporter;

sub load_shortest_path_matrices {
  my %predecessor_matrix = shift;
  my %shortestpath_matrix = shift;
  ...
}
Run Code Online (Sandbox Code Playgroud)

从另一个脚本我调用模块中的sub,传入恰好具有相同名称的参数:

use Routines;
use strict;

my %predecessor_matrix = ();
my %shortestpath_matrix =();  
&Routines::load_shortest_path_matrices($predecessor_matrix, $shortestpath_matrix);
Run Code Online (Sandbox Code Playgroud)

但是,这不编译,我得到

全局符号"$ predecessor_matrix"需要显式包名称

错误类型.在Perl中不可能给不同范围的变量赋予相同的名称吗?(我来自C背景)

variables perl

0
推荐指数
2
解决办法
357
查看次数