小编She*_*don的帖子

为Perl中的Lander创建"自动驾驶仪"

我正在使用Perl创建一个简单的Lunar Lander游戏.所有元素都可以工作(即图形界面,用户实现的控件等),但我似乎无法使"AutoPilot"功能起作用.此功能应该将着陆器飞到它可以着陆的地点(或指定为着陆目标的地点),然后安全降落在那里.着陆的限制是着陆器着陆的位置和着陆器着陆时的速度.我可以更改的唯一文件是AutoPilot.pm.我将发布允许使用的代码:

package AutoPilot;
use strict;
use warnings;
# use diagnostics;

=head1 Lunar Lander Autopilot

The autopilot is called on every step of the lunar lander simulation.  
It is passed state information as an argument and returns a set of course 
correction commands.

The lander world takes the surface of the moon (a circle!)
and maps it onto a rectangular region. 
On the x-axis, the lander will wrap around when it hits either the
left or right edge of the …
Run Code Online (Sandbox Code Playgroud)

perl

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

如何使用正则表达式删除字符串中的多余空格

我有一系列段落,我想用正则表达式解析,但不幸的是,段落出现在句子之间有许多空格,有时候是单词.我希望能够删除所有多余的空白区域,但我不确定如何......任何人都有任何想法?我不想删除所有空格,这是我到目前为止唯一发现的空格,而是保持常规的段落格式,就像在每个单词都有空格之后,并且在每个标点符号+单词后面都有空格.我在Perl中编码.

任何帮助,将不胜感激!

regex perl

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

如何在Perl中访问Regex中的数组

我有两个输入读入我的命令提示符,第一个是由我正在编写的程序搜索的一系列单词,第二个是包含要找到单词的位置的文件.因此,例如,我的命令提示符读取perl WebScan.pl文字WebPage000.htm

现在,我可以轻松访问这些输入中的任何一个进行打印,但我很难访问网页的内容,因此我可以执行正则表达式来删除html标记并访问内容.我意识到有一个子程序可以做到这一点,没有正则表达式更有效,但我需要使用正则表达式:(.

我可以毫无困难地访问html文件进行打印:

open (DATA, $ARGV[1]);
my @file = <DATA>;
print @file;
Run Code Online (Sandbox Code Playgroud)

其中打印html页面的整个代码,但我无法传递正则表达式以删除html块.我一直收到一条错误,上面写着"无法修改s /// near中的数组取消引用",这是我具有特定正则表达式的地方.我不知道如何解决这个问题 - 我已经尝试将数组转换为标量但是我根本无法访问html中的任何数据(并且不,它不仅仅打印数量数组中的值:P)

如何访问数组的内容,以便使用正则表达式来优化所需的输出?

perl

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

确定树木是否"平等"

我正在使用Perl,我需要确定两个算术表达式树是否"相等".平等,我的意思是树的形状是相等的,而不是其中的特定值.所以,例如['internal',' - '['leaf',5] ['leaf',4]]与['internal','average',['internal','+', ['leaf',42],['leaf',10]],['leaf',1]],但与['internal','+'['leaf',3] ['leaf'相同,20]].所以,我只是想匹配形状.我有一个子程序,我希望能够做到这一点,但到目前为止,我无法使其正确匹配.这是子程序:

sub isEqualShape {
    my ($ex1, $ex2) = @_;
    my $node_type = $ex1->[0];
    my $node_type2= $ex2->[0];
    my $check;
    foreach (@$ex1){
        if ( $node_type eq 'leaf' && $node_type2 eq 'leaf'){
            $check = 1;
        }
        elsif ($node_type eq 'internal' && $node_type2 eq 'internal'){
            $check = 1;
        }
        else {
            $check = 0;
            return 0;
            last;
        }
    }
    foreach (@$ex2){
        if ( $node_type eq 'leaf' && $node_type2 eq 'leaf'){
            $check = 1;
        }
        elsif ($node_type eq 'internal' && …
Run Code Online (Sandbox Code Playgroud)

tree perl equality

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

标签 统计

perl ×4

equality ×1

regex ×1

tree ×1