在LaTeX中写论文的时候,我有这个.bib文件供参考管理:
@article{garg2017patch,
title={Patch testing in patients with suspected cosmetic dermatitis: A retrospective study},
author={Garg, Taru and Agarwal, Soumya and Chander, Ram and Singh, Aashim and Yadav, Pravesh},
journal={Journal of Cosmetic Dermatology},
year={2017},
publisher={Wiley Online Library}
}
@article{hauso2008neuroendocrine,
title={Neuroendocrine tumor epidemiology},
author={Hauso, Oyvind and Gustafsson, Bjorn I and Kidd, Mark and Waldum, Helge L and Drozdov, Ignat and Chan, Anthony KC and Modlin, Irvin M},
journal={Cancer},
volume={113},
number={10},
pages={2655--2664},
year={2008},
publisher={Wiley Online Library}
}
@article{siperstein1997laparoscopic,
title={Laparoscopic thermal ablation of …Run Code Online (Sandbox Code Playgroud) 我想写一些关于Perl 6的教程.对此我相信Rmarkdown会有很大的帮助.
所以我试图Perl 6在Rmarkdown文档中执行代码.
我的Perl 6可执行文件在C:\rakudo\bin.所以我的.Rmd文件带有示例代码来完成此操作如下:
---
title: "Example"
output: html_document
---
```{r, engine='perl6', engine.path='C:\\rakudo\\bin'}
my $s= "knitr is really good";
say $s;
```
Run Code Online (Sandbox Code Playgroud)
然而,在Rstudio中编织上述文档显示以下没有Perl 6输出.
我失踪的任何帮助?
我定期关注GitHub Rakudo 存储库,以查看 Rakudo 编译器中发生的变化。
我有时会看到提交,其中单个功能被加速了一定的百分比,时间如下图所示。
评估这个的工作流程是什么?我很想学习这一点,这样人们就可以了解您的功能如何执行并相应地进一步优化,并可以为 Rakudo 开发做出贡献。
我在这里阅读以寻求帮助,在这里。我用谷歌搜索但找不到此信息。我还通过此处生成输出的命令行--profile选项了解了 MoarVM 分析器。要寻找什么?html
我不是一个正式的计算机科学人。我理解Tony Hoare 的名言——“过早优化是万恶之源”,但随着时间的推移,一旦代码编写正确,人们就会希望对其进行优化。所以问题。
我编写了一个 Raku 脚本来调用erfC 标准库中的函数:
use NativeCall;
sub erf(num64) returns num64 is native { * };
say [0.5,1,2,3,4,-0.9].map: {erf($_.Num)};
Run Code Online (Sandbox Code Playgroud)
该脚本的输出
(0.5204998778130465 0.8427007929497149 0.9953222650189527 0.9999779095030014 0.9999999845827421 -0.7969082124228322)
Run Code Online (Sandbox Code Playgroud)
[0.5,1,2,3,4,-0.9]除 之外的所有值都与 C 的输出匹配4。
对于4C 输出,1.000000而 Raku 给出0.9999999845827421。
要测试 C 语言的输出4,请运行以下代码:
#include <stdio.h> // Including header file for printf function
#include <math.h> // Including header file for erf function
int main (){
double param, result;
param = 4.0;
result = erf(param);
printf("erf …Run Code Online (Sandbox Code Playgroud) multi我正在尝试在 Raku 代码中使用将函数包装在 中的函数C。\n这里我正在调用lchoose共享库中的函数。\n这是我的有效Rmath代码:
use NativeCall;\n\nconstant RMATH = "./Rmath"; # shared library\nsub lchoose(num64, num64) returns num64 \n is native( RMATH ) { * };\n\n# The C function signature is \n# double lchoose(double, double);\n\nsub r_lchoose($n,$r) {\n return lchoose($n.Num, $r.Num)\n}\n\nsay r_lchoose(9,8) # 2.1972245773362196\nRun Code Online (Sandbox Code Playgroud)\n但这是行不通的。代码继续运行/挂起。既不死亡也不抛出任何输出:
\n\nuse NativeCall;\n\nconstant RMATH = "./Rmath"; # shared library\nmulti lchoose(num64, num64) returns num64 \n is native( RMATH ) { * };\n\nmulti lchoose($n,$r) …Run Code Online (Sandbox Code Playgroud) 我是Windows 10 i7第四代笔记本电脑,内存为8 GB.
我想找出1到1000000000的数字之和,可被5整除.
我试图在perl 6 REPL中运行此代码:
($_ if $_%5==0 for 1..1000000000).sum
Run Code Online (Sandbox Code Playgroud)
代码运行45分钟,仍然没有输出.我怎么能克服它?
如何在这种情况下应用并发性?我认为上面的问题可以通过并发或任务并行来解决!
我使用 VS Code 来编写Raku代码。
它正确显示单行注释。
# this is single-line comment!
Run Code Online (Sandbox Code Playgroud)
然而,它与嵌入式、多行和 pod 注释不同。请参阅下面的片段:
在Raku,
嵌入的评论是
if #`( This is an inline comment here? ) True {
say "Raku is awesome";
}
Run Code Online (Sandbox Code Playgroud)
多行注释是
#`[
And this is how a multiline comment would work.
That says why we do what we do below.
]
say "Raku is awesome";
Run Code Online (Sandbox Code Playgroud)
pod 评论是
=begin comment
Here are several
lines
of comment
=end comment
say "Hello";
Run Code Online (Sandbox Code Playgroud)
问题是,一旦 VS code 看到#,它就会注释掉整行,而嵌入注释中不应出现这种情况。更多详细信息 …
我正在尝试对 Raku 中的列表进行求和。示例取自此处:
my $arr = ([1e50, 1, -1e50] xx 1000);
say (flat |$arr).sum; # output 0
# https://docs.raku.org/language/operators#infix_xx
# https://docs.raku.org/routine/flat
Run Code Online (Sandbox Code Playgroud)
它的输出0不是预期的(1000)。然而,这工作正常
say ([1, 2] xx 5).flat.sum;
Run Code Online (Sandbox Code Playgroud)
为什么行为不同?是因为精度吗?
另一件事是
my $arr = ([1e50, 1, -1e50] xx 1000);
my @array = $arr.flat;
Run Code Online (Sandbox Code Playgroud)
我怎样才能float有效地使这个扁平化列表中的每个元素都有效?
我知道的一种方法是迭代此列表的每个元素并调用Num方法。
my $arr = [1, 2] xx 5; #([1e50, 1, -1e50] xx 10);
my @array = $arr.flat;
for @array {$_=$_.Num};
Run Code Online (Sandbox Code Playgroud) 我有两个文件main.raku,TestMod.rakumod位于一个目录中C:\\Users\\suman。
TestMod.rakumod
unit module TestMod;\nsub add($a, $b) is export {\n $a + $b\n}\nRun Code Online (Sandbox Code Playgroud)\nmain.raku
use lib $*PROGRAM.dirname;\nuse TestMod;\n\nsay add(8,9)\nRun Code Online (Sandbox Code Playgroud)\n我想TestMod从main脚本文件调用模块中的一些函数。当我运行脚本时,我收到此错误
===SORRY!=== Error while compiling c:\\Users\\suman\\main.raku\nread from dirhandle failed: 123\nat c:\\Users\\suman\\main.raku:2\nRun Code Online (Sandbox Code Playgroud)\n这是我的操作系统特定信息:
\nHost Name: SUMANKHANAL\nOS Name: Microsoft Windows 10 Pro\nOS Version: 10.0.19043 N/A Build 19043\nOS Manufacturer: Microsoft Corporation\nOS Configuration: Standalone Workstation\nOS Build Type: Multiprocessor Free\nRegistered Owner: N/A\nRegistered Organization: N/A\nProduct ID: 00331-20350-00000-AA867\nOriginal Install Date: …Run Code Online (Sandbox Code Playgroud) 我编写了一个输出 a 的函数double,最多 25 位小数。我正在尝试将其打印为 Raku 的格式化输出。
但是,输出不正确且被截断。
参见 MWE:
my $var = 0.8144262510988963255087469;
say sprintf("The variable value is: %.25f", $var)
Run Code Online (Sandbox Code Playgroud)
上面的代码给出的The variable value is: 0.8144262510988963000000000结果不是预期的结果。
另外,这看起来很奇怪:
my $var = 0.8144262510988963255087469;
say $var.Str.chars; # 29 wrong, expected 27
Run Code Online (Sandbox Code Playgroud)
我在以下位置测试了相同的内容C:
#include <stdio.h>
int main() {
double var = 0.8144262510988963255087469;
printf("The variable value is: %.25lf \n", var);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
然而,它工作得很好。sprintf鉴于和的相同性质printf,我希望这个C示例也能在 Raku 中运行。好像%lf不支持。
那么有解决方法来解决这个问题吗?