大佬教程收集整理的这篇文章主要介绍了Buf.subbuf在Perl 6中的奇怪行为,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#!/usr/bin/env perl6 use v6; use LWP::Simple; my $html = LWP::Simple.get('http://perl6.org'); say $html;
由于以下错误,它无法正常工作:
No such method 'get_String' for invocant of type 'String' in method decode at src/gen/CORE.setTing:6766 in method parse_response at lib/LWP/Simple.pm:244 in method make_request at lib/LWP/Simple.pm:199 in method request_sHell at lib/LWP/Simple.pm:63 in method get at lib/LWP/Simple.pm:28
第244行的LWP ::简单代码是:
@H_655_2@my @header_lines = $resp.subbuf( 0,$header_end_pos ).decode('ascii').split(/\r\n/);奇怪的是,以下代码是可以的:
> Buf.new(1,2,3,4,5).decode('ascii')
而这一次失败了:
> Buf.new(1,5).subbuf(0,3).decode('ascii') Method 'get_String' not found for invocant of class 'String'
你能解释一下,为什么会这样?据我所知,在两种情况下都会调用Buf.decode方法:
> Buf.new(1,3).isa('Buf') True > Buf.new(1,5).isa('Buf') True
也许这是Rakudo Perl中的一个错误?或者也许subbuf是一个已弃用/未记录的方法?它不在doc.perl6.org上.在这种情况下应该使用哪种方法?
$perl6 -e 'say Buf.new(1,3).decode("ascii")'|hexdump -C 00000000 01 02 03 0a |....|
(我很确定该修复程序也是Rakudo 2012.08版本,基于编译器的Rakudo Star版本将在本周发布).
它没有被记录的原因是我专注于那些也在规范中的方法,因为它们有更高的生存机会.我希望尽快安排添加文档.
以上是大佬教程为你收集整理的Buf.subbuf在Perl 6中的奇怪行为全部内容,希望文章能够帮你解决Buf.subbuf在Perl 6中的奇怪行为所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。