raku - Perl 6 中与 Python 中的星号表达式等效的是什么?
问题描述
在 Python 3 中,假设您开设了一门课程,并在学期末决定要放弃第一个和最后一个作业成绩,并且只取其余的平均分:
def drop_first_last(grades):
first, *middle, last = grades
return avg(middle)
print drop_first_last([100,68,67,66,23]);
在 Perl 6 中:
sub drop_first_last(@grades) {
my ($first, *@middle, $last) = @grades;
return avg(@middle);
}
say drop_first_last(100,68,67,66,23);
导致错误“无法$last
在可变参数后放置所需参数”。
那么,在 Perl 6 中,与 Python 中的星型表达式等效的表达式是什么?
解决方案
Perl5:
sub drop_first_last { avg( @_[ 1 .. $#_-1 ] ) } #this
sub drop_first_last { shift;pop;avg@_ } #or this
Perl6:
sub drop_first_last { avg( @_[ 1 .. @_.end-1 ] ) }
推荐阅读
- amazon-web-services - 1小时超时的无服务器python?
- c - makefile 遇到问题:它的行为不像我被教导的那样,我不知道该怎么做
- python-3.x - For x in Arra 给我 None 在 Array 的末尾
- python - 使用python计算softmax激活函数
- xamarin - Xamarin 形成错误?
- ruby-on-rails - 如何在 rswag 中创建嵌套对象?
- git - 如何启用快进 - 不太了解 git 来解决这个问题
- javascript - ReQL | RethinkDB 错误:预期类型 TABLE 但找到 SINGLE_SELECTION
- shell - 安装 chrome-gnome-shell 后无法使用 GNOME shell 扩展
- java - 使用 FragmentInteractionListener 将对象片段传输到片段不起作用