【问题标题】:Perl programming regarding maps关于地图的 Perl 编程
【发布时间】:2015-05-03 09:19:23
【问题描述】:

我正在复习我的作业,但我对笔记中的陈述感到困惑。如果有人能解释波浪号和 s/\d 的作用,那就太好了。

@name = ("Name: Bruce Grade: 85", "Name: Jill Grade: 87");
@GradeA = map { $entry = $_; $entry = ~ s/\d{2,3}/A/; $entry} @GradeA;

【问题讨论】:

  • 接受的答案告诉你=~~~ 在 Perl 中代表什么,What does " ~~ " mean in Perl? 的副本
  • @Prix 我没看到~~这里
  • @user4035 不,你没有,但你看到=~ 不是吗?您是否还阅读了我在链接之前的评论?猜不到。
  • @user3353920 您可以使用问题下方的Edit 链接更新新信息。
  • = ~ 是两个运算符:赋值和按位否定。看到它后面跟着一个正则表达式替换,您可能将它与 =~ 混淆了,=~ 是与正则表达式一起使用的绑定运算符(除其他外)。

标签: perl dictionary


【解决方案1】:

= ~ 是两个operators:赋值和按位否定。看到它后面跟着一个正则表达式替换,您很可能将它与 =~ 混淆了,=~ 是与正则表达式一起使用的绑定运算符(除其他外)。

假设= ~ 是一个错字,map 语句只是将正则表达式替换s/// 应用于字符串列表,将2-3 个数字(例如12123)更改为A .写的有点多余,可以简化为

s/\d{2,3}/A/ for @GradeA;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 2017-05-05
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    相关资源
    最近更新 更多