Здравствуйте, я хочу задать несколько вопросов. Гугление и поиск на raku.guide/ru/ не дали ответов.
1 [решено]. Как записать только вывод команды shell
в переменную?
Пробовал так:
#!/usr/bin/env rakudo
use v6
my Str $EDITOR = "emacs -nw";
my Str $tmp = shell "mktemp";
my Rat $VERSION = 0.1;
print $tmp; print "\n";
Вывод:
/tmp/tmp.XXXXXXXXXX
Type check failed in assignment to $tmp; expected Str but got Proc (Proc.new(in => IO::Pipe, ...)
in block <unit> at rakutoolz-raku line 5
Пробовал тип Any
, после имени tmp-файла появляется Proc<XXXXXXXXX>
.
Как это убрать?
2 [решено]. Как получить аргументы командной строки, переданные скрипту?
Например, я передаю программе script.pl6
аргументы first second third
. Хотелось бы получать их как по отдельности строками, так и массивом.
3 [решено]. Меньше ли места занимает программа в ОЗУ, если использовать переменные с фиксированным типом (Str
, Num
) вместо переменных с «плавающим» типом (не знаю, как правильно назвать), которые были единственными в Perl и если да, то насколько?
upd. 4. Не понимаю, как дописать что-либо в файл? Не записать, а дописать, что-то типа commmand >> file
в Sh?