在Python中,Python有类型,当一个方法可以接受多个类型时,这是很方便的:
from typing import Union
def test(x: Union[str,int,float,]):
print(x)
if __name__ == '__main__':
test(1)
test('str')
test(3.1415926)
Raku可能不像Python那样具有Union类型,但是where子句可以实现类似的效果:
sub test(\x where * ~~ Int | Str | Rat) {
我有以下结构:
typedef struct _info{
DWORD myInfo;
BYTE *pInfo;
LPWSTR ExtData;
} Info;
因此,我使用NativeCall表示这个结构:
class Info is repr('CStruct') {
has int32 $.myInfo;
has Pointer[int8] $.pInfo ;
has Pointer[int16] $.ExtData;
}
这个代表可以吗?如何访问和设置$.pInfo所指向的数据
我目前正在尝试在Org模式下设置一个Raku脚本。但是,Raku主要模式没有定义注释语法。是否有一种方法可以告诉Org注释标头参数使用什么注释语法作为标头参数?
例如,这个代码块
* This should be a comment
#+BEGIN_SRC raku :comments org
lorem ipsum
#+END_SRC
编译时,提示我没有定义的注释语法。作为参考,在Raku主要模式(官方模式)中,注释被正确地突出显示如下
# This is a comment
constant Str this = "is not.";
有一个固定长度的文件,在这些行之间没有换行符,但每行都是15个字符。
echo "John Doe Jane Doe Johny Doe " > /tmp/every_line_is_15_characters.txt
有没有办法把它分割成:
John Doe
Jane Roe
Johny Doe
(很明显,会有落后的空白)。
它可以用java、python等来完成,但是,在不使用重量级编程语言的情况下,将文件拆分成固定宽度行的最简单方法是什么呢?也许是哇什么的?
我有一个Perl脚本,它解析了从许多学区发送给我的数据。我增加了一所新学校,遇到了一个我从未遇到过的问题。当我执行$line = 时,它会删除整个文件,而不是一行。
如果我对文件运行file,它将返回UTF-8 Unicode text, with CRLF, CR line terminators。所有其他文件都返回ASCII text, with CRLF line terminators。我已经在dos2unix中运行了它,但是它仍然作为一个长字符串运行。当我用emacs编辑它时,它仍然为行尾显示^M。
如何将这些行尾转换为可用的行尾?
更新:供应商给我发送了另一个文件,文件有不同的行尾
是否可以使用BBEDIT Grep命令(查找和替换功能)将两列的2行文本合并到一行中?
例如:
Ryan Muramatsu
Corporate Venturing Co-Lead at Tokio Marine
其结果应该是:
(Column1)Ryan Muramatsu (Column2)Corporate Venturing Co-Lead at Tokio Marine
在Ruby中,我可以用一个begin块组合一些代码行,如下所示:
x = begin
puts "Hi!"
a = 2
b = 3
a + b
end
puts x # 5
它立即被计算出来,它的值是块的最后一个值(这里是a + b) (Javascripters使用做了类似的事情)
在Raku有什么方法可以做到这一点?还有比以下更平滑的吗?
my $x = ({
say "Hi!";
my $a = 2;
my $b = 3;
$a + $b;
})();
say $x; # 5
例如,我有一个名为input.txt的文本文件,其中包含以下句子:
This is my base64 string: ${BASE64}
我有一个变量:
myvar="SGVsbG8gV29ybGQuIERvIHlvdSBsaWtlIG15IGJhc2U2NCBzdHJpbmc/IFRoYXQgaXMgdmVyeSBuaWNlIQ=="
预期产出:
This is my base64 string: SGVsbG8gV29ybGQuIERvIHlvdSBsaWtlIG15IGJhc2U2NCBzdHJpbmc/IFRoYXQgaXMgdmVyeSBuaWNlIQ==
我认为这
任务:使用bash,迭代一个文件(例如,file1.txt),一次迭代2行,提示是否应该将每个找到的对联复制到另一个文件(例如file2.txt)。命令grep -A 1 "searchterm" file1.txt给出了我想要的输出类型。因此,脚本应该遍历每几行,询问是否将耦合复制到第二个文件中,然后对下几行进行增量并执行相同的操作,等等,直到文件结束。该文件可能包含大约4000行,大概400行,其中我想要复制到第二个文件。
该文件的内容将类似于以下示例:
#searchterm blah
possible additional needed line 1
#searchte
我想构造一个字符串类型的枚举。以下工作:
my Str enum E ( <a b c> Z=> 'one', 'two', 'three' );
E.kv.raku.say;
("c“、”3“、"a”、“1”、"b“、”2“).Seq
然而,以下几点并不适用:
my Str @a = <a b c>;
my Str @b = <one two three>;
my Str enum F ( @a Z=> @b );
F.kv.raku.say;
没有提供给枚举的值( @
当使用rakubrew升级rakudo版本时,很容易更改版本,但我想知道是否可以将raku模块从旧版本导入到新版本。doign zef自动安装:
要更新,请执行以下操作:
rakubrew build 2020.10
但随后:
❯ raku
Welcome to ™ v2020.10.
Implementing the ™ programming language v6.d.
Built on MoarVM version 2020.10.
You may want to `zef install Readline` or `zef install Linenoise` or use rlw
我坦率地承认,我对R非常陌生,所以我可能完全找错了方向来使用这个代码:
我有一些文本文件,它们只是在一天的时间内从程序中收集输出,每个文件一天。有时,但并非总是,程序会抛出错误。我正在尝试的是一个R脚本,它将把文本文件的特定部分导入到一个向量中,这样我就可以处理列出的错误。在这种情况下,错误后的文本行。所以如果我有:
Normal Stuff
[ERROR] Bad Error
Normal Stuff
Normal Stuff
[ERROR] Minor Error
Normal Stuff
我最终得到了向量
Bad Error, Minor Error
然而,虽然我一直在学习教程,但在数据