小编Sin*_*nür的帖子

如何在Ruby中执行向量添加?

如何在Ruby中执行向量添加

[100, 100] + [2, 3] 
Run Code Online (Sandbox Code Playgroud)

产量

[102, 103] 
Run Code Online (Sandbox Code Playgroud)

(而不是加入两个数组)?

或者它也可以是另一个运营商,例如

[100, 100] @ [2, 3] 
Run Code Online (Sandbox Code Playgroud)

要么

[100, 100] & [2, 3]
Run Code Online (Sandbox Code Playgroud)

ruby

11
推荐指数
2
解决办法
8475
查看次数

如何在Perl中搜索多个文件中的字符串?

我的问题可能很简单,但我是一个完整的新手.我想搜索特定短语的多个文本文件的内容,然后在屏幕上显示查找的行.我已经学会了如何处理单个文件.例如,如果我想搜索一个单词,请在F的根目录中名为"wyvern.txt"的文本文件中说"Okay".以下代码有效:

#!/usr/bin/perl

$file = 'F:\wyvern.txt';
open(txt, $file);
while($line = <txt>) {
  print "$line" if $line =~ /Okay/;
}
close(txt);
Run Code Online (Sandbox Code Playgroud)

但是,如果我想在两个文本文件中搜索相同的短语,分别说"wyvern"和"casanova",或者如何在F的根目录中的"novels"目录中查找所有文件,该怎么办?

任何帮助将不胜感激.提前致谢

麦克风

编辑:

哈哈,我终于想出了如何搜索目录中的所有文件以进行模式匹配:)以下代码效果很好:

#!/usr/bin/perl  
@files = <F:/novels/*>;
foreach $file (@files) {
open   (FILE, "$file");
while($line= <FILE> ){
print "$line" if $line =~ /Okay/;
}
close FILE; 
} 
Run Code Online (Sandbox Code Playgroud)

perl

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

监视Windows内存映射文件

在Windows中,如何跟踪CreateFileMapping()创建的文件映射对象?基本上我想知道正在使用多少内存映射文件以及它们的名称,大小等信息.谢谢!

windows memory-management memory-mapped-files

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

如何在Win32上只在Perl中打印一个unix换行符?

默认情况下,perl在win32环境中打印\ r \n.我怎么能覆盖这个呢?我正在使用perl对存储库中的某些源代码进行一些更改,我不想更改所有换行符.

我尝试更改输出记录分隔符,但没有运气.

谢谢!

编辑:想要包含一个代码示例 - 我正在搜索并替换一些遵循相对简单模式的文件,如下所示:

#!/usr/bin/perl
# test.pl

use strict;
use warnings;

$/ = undef;
$\ = "\n"; 
$^I=".old~";

while (<>) {
  while (s/hello/world/) {

  }
  print;
}
Run Code Online (Sandbox Code Playgroud)

对于在cmd行上传递的任何文件,这应该用"world"替换"hello"的任何实例.

编辑2:我尝试了最初binmode没有任何运气的建议.我钻了更多,发现(inplace edit特殊变量)覆盖了.任何工作仍然可以使用inplace编辑?$^Ibinmode

编辑3:作为思南低于所指出的,我需要使用binmode ARGVOUT带有$^I代替binmode STDOUT在我的例子.谢谢.

perl newline

11
推荐指数
2
解决办法
6572
查看次数

在Perl中将字符串中的十六进制数转换为负数

我有一堆数字表示为日志文件中的十六进制字符串,由Perl脚本解析,而且我对Perl相对缺乏经验.

这些数字中的一些实际上是带符号的负数,即0xFFFE == -2表示为16位有符号整数时.

有人可以告诉我从FFFEPerl中的字符串中获取此数字的签名表示的规范方法,或以其他方式指向我的教程或其他资源吗?

perl parsing signed numbers

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

在perl中随机化矩阵,保持行和列总数相同

我有一个矩阵,我想随机化几千次,同时保持行和列总数相同:

     1 2 3 
   A 0 0 1 
   B 1 1 0 
   C 1 0 0      
Run Code Online (Sandbox Code Playgroud)

有效随机矩阵的一个例子是:

     1 2 3
   A 1 0 0
   B 1 1 0
   C 0 0 1
Run Code Online (Sandbox Code Playgroud)

我的实际矩阵要大得多(大约600x600项),所以我真的需要一种计算效率高的方法.

我的初始(低效)方法包括使用Perl Cookbook shuffle改组数组

我在下面粘贴了我当前的代码.如果在while循环中找不到解决方案,我已经有了额外的代码来启动一个新的洗牌数字列表.该算法适用于小矩阵,但只要我开始按比例放大,就需要永远找到符合要求的随机矩阵.

有没有更有效的方法来完成我正在寻找的东西?非常感谢!

#!/usr/bin/perl -w
use strict;

my %matrix = ( 'A' => {'3'  => 1 },
           'B' => {'1'  => 1,
               '2'  => 1 },
           'C' => {'1'  => 1 }
    );

my @letters = ();
my @numbers = ();

foreach my …
Run Code Online (Sandbox Code Playgroud)

random perl matrix

11
推荐指数
2
解决办法
1473
查看次数

在Perl正则表达式替换中使用$ 1 vs\1有什么区别?

我正在调试一些代码,并想知道Perl正则表达式替换中$ 1和\ 1之间是否存在任何实际差异

例如:

my $package_name = "Some::Package::ButNotThis";

$package_name =~ s{^(\w+::\w+)}{$1};  

print $package_name; # Some::Package
Run Code Online (Sandbox Code Playgroud)

以下这一行似乎功能相同:

$package_name =~ s{^(\w+::w+)}{\1};
Run Code Online (Sandbox Code Playgroud)

这两个陈述之间是否存在细微差别?它们在不同版本的Perl中表现不同吗?

regex perl

11
推荐指数
2
解决办法
2007
查看次数

Perl排序; 干净地处理名称空间中的$ a,$ b包全局变量

假设我有一个other包含子程序(sort_it)的实用程序库(),我想用它来返回任意排序的数据.它可能比这更复杂,但这说明了关键概念:

#!/usr/local/bin/perl

use strict;

package other;

sub sort_it {
  my($data, $sort_function) = @_;

  return([sort $sort_function @$data]);
}
Run Code Online (Sandbox Code Playgroud)

现在让我们在另一个包中使用它.

package main;
use Data::Dumper;

my($data) = [
        {'animal' => 'bird',            'legs' => 2},
        {'animal' => 'black widow',     'legs' => 8},
        {'animal' => 'dog',             'legs' => 4},
        {'animal' => 'grasshopper',     'legs' => 6},
        {'animal' => 'human',           'legs' => 2},
        {'animal' => 'mosquito',        'legs' => 6},
        {'animal' => 'rhino',           'legs' => 4},
        {'animal' => 'tarantula',       'legs' => 8},
        {'animal' => …
Run Code Online (Sandbox Code Playgroud)

sorting perl namespaces

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

如何使用GSOAP for C和C++访问Amazon AWS S3?

我到处寻找这个,我找不到一个像样的代码.如何使用GSOAP访问Amazon AWS S3服务?

c c++ gsoap signature amazon-s3

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

为什么Math.nextAfter(Double.MAX_VALUE,1)不等于Double.INFINITY?

根据Javadoc:

public static double nextAfter(double start,
                           double direction)
Run Code Online (Sandbox Code Playgroud)

...

  • 如果start等于±Double.MAX_VALUE并且direction具有一个值,使得结果应该具有更大的幅度,则返回具有与start相同的符号的无穷大.

但根据这个例子:

System.out.println(Double.MAX_VALUE);
System.out.println(Math.nextAfter(Double.MAX_VALUE, 1));
System.out.println(Math.nextAfter(Double.MAX_VALUE, 1) == Double.POSITIVE_INFINITY);
Run Code Online (Sandbox Code Playgroud)

输出:

1.7976931348623157E308
1.7976931348623155E308
false
Run Code Online (Sandbox Code Playgroud)

嗯?它不仅不是Double.POSITIVE_INFINITY,它的数量实际上更小.

...157E308
...155E308
Run Code Online (Sandbox Code Playgroud)

我只是完全误读了Javadoc吗?

java floating-point

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