我正在用Perl6和inline :: Perl5编写一个Excel xlsx电子表格。
当我写一行
$file-location-ws.write($row, 2, $csv);
Run Code Online (Sandbox Code Playgroud)
Perl6崩溃,并显示错误消息
操作“ eq”:未找到方法,重载包Perl6 :: Object中的左参数,右参数在/usr/local/share/perl/5.26.0/Excel/Writer/XLSX/Worksheet.pm第2020行没有重载魔术。
在/home/con/.perl6/sources/130449F27E85303EEC9A19017246A5ED249F99E4(Inline :: Perl5)行674中的方法中,位于/ usr / lib / perl6 / site / sources / D38010D24322CE1B1E6FFD8A463F23Inline:E: ClassHOW)第195行在8.make_xlsx.p6第100行的块中
但如果我与文件名的文本字符串替换$ CSV 'Pumbaa Validation Plate 1 samplesheet.csv'从而
$file-location-ws.write($row, 2, 'Pumbaa Validation Plate 1 samplesheet.csv');
Run Code Online (Sandbox Code Playgroud)
它工作正常。显然,这不是解决方案,因为$csv它将改变。
为什么会发生此错误?我该如何解决?
这里的问题是该write函数需要一个类型的变量/容器,Str但是得到一个IO::Path。
通过将要写入的变量分配为Str类型可以轻松解决此问题。
问题是错误消息没有给出任何提示。
| 归档时间: |
|
| 查看次数: |
141 次 |
| 最近记录: |