加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl中lvalue子例程的用途是什么?

发布时间:2020-12-15 21:12:33 所属栏目:大数据 来源:网络整理
导读:我不明白Lvalue子例程的用途是什么?我用普通子程序不能完成什么?你能举几个例子吗? 谢谢 解决方法 建议避免使用.他们很有趣,但他们混淆了新用户,他们假设所有的内容都是有效的,因此,当有更好的方法可以避免代码. 有时使用LValue结果做脏事可能非常实用. s
我不明白Lvalue子例程的用途是什么?我用普通子程序不能完成什么?你能举几个例子吗?

谢谢

解决方法

建议避免使用.他们很有趣,但他们混淆了新用户,他们假设所有的内容都是有效的,因此,当有更好的方法可以避免代码.

有时使用LValue结果做脏事可能非常实用.

substr( $string,$start,$stop ) = 'somevalue' # replaces the specified part of the substring.

但是,这也同样如此:

substr( $string,$stop,'somevalue' );

这里的差异大多是前者具有显着的更强大的力量,因为它将行为委托给使用它的代码而不是函数本身.

例如:

substr( $string,$stop ) =~ s/a/b/g

需要你做

my $x = substr( $string,$stop ); 
$x =~ s/a/b/g/; 
substr( $string,$x );

这有点讨厌

虽然这里还有一个令人讨厌的问题,因为您必须考虑是否以$x作品替代,以追溯方式修改字符串(由于substr是一个LValue子).我不认为它是,但它的含糊不清,我必须检查手册,以记住是否与否,这是坏的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读