问题标签 [splat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 查找有关 python“本机”类型的文档,例如 set
我正在尝试学习 Python,虽然我设法偶然发现了当前问题的答案,但我想知道将来如何更好地找到答案。
我的目标是将字符串列表作为输入,并返回一个字符串,其字符是字符串中字符的并集,例如
将返回“abc”。
我是这样实现的:
我觉得 for 循环是不必要的,并寻找更整洁、更 Pythonic(?) 的改进。
第一个问题:我偶然发现了使用类方法set.union()
,而不是set1.union(set2)
. 我应该能够在标准 Python 文档中找到它吗?我没能在那里找到它。
所以我尝试像这样使用 set.union() :
再一次,我跌跌撞撞,最后发现我应该这样称呼它:
第二个问题:我认为这意味着set.union
(有效地)声明为
并不是
那是对的吗?(我还在学习如何使用 splat '*'。)
第三个问题:我在哪里可以找到关于签名的文件set.union()
?我在 set/freezeset 文档中没有看到它,我无法让inspect
模块给我任何东西。我什至不确定set
是一个模块,它似乎是一个类型。它是在模块中定义的,还是什么?
感谢您阅读我的复杂问题。更多的是“我如何浏览 Python 文档?” 而不是“我如何在 Python 代码中做到这一点?”。
回应 jonrsharpe 的评论:
哦哦哦!我已经习惯了在 C++ 中定义单独的静态和实例方法。既然你解释了它,我真的可以看到发生了什么。
我唯一可能做的不同就是把它写成
因为当它们在功能上没有扮演不同的角色时,将它们strings[0]
与字符串区别对待让我感到困扰。strings[1:]
如果我必须调用set()
其中一个,我宁愿调用所有这些,因为union()
无论如何都会这样做。但这只是风格,对吧?
javascript - 将列表展开到函数参数中?
给定一个参数列表和一个二元函数:
如何将 args 展开为函数参数?- 例如,在 Python 中,您可以:f(*args)
.
我尝试过的(我想更多的 JavaScript 风格):
ruby - Ruby splat 运算符在循环内更改值
我想定义一个可以采用可选数量的参数和散列的方法,就像这样
如果我正确理解了 splat 和 double splat 运算符(我对此表示怀疑),那么这应该将数组发送b
到方法,并且只有在它包含某些内容bar
时才添加new_hash
from 。foo
但是,发生了一些奇怪的事情 - 我将尝试用下面的一些片段来说明
然而,现在发生了一些事情
b
为什么的 循环内的值发生了变化foo
?
编辑更新了代码以反映为每次迭代创建一个新数组
ruby - Ruby 使用 splat 发送未按预期工作
我有一个服务类,可以帮助清理 JSON 有效负载中的数据。
问题是当我调用类方法时,它返回一个枚举器:
而不是评估方法并返回:
我在控制台中玩过,这是因为 splat 数组没有被转换为单独的参数,这与 Ruby 文档的建议相反。有人遇到过 Object#send 的问题吗?非常感谢任何帮助!
ruby - 查找数组的第二个元素
我不明白这怎么行不通。该程序应该在类 Array 中采用实例方法第二个并返回数组中的第二个对象
我究竟做错了什么?如果我删除类 Array 并在第二个测试它工作正常吗?
arrays - splat的解释
在http://learnxinyminutes.com/docs/julia/上阅读有关 Julia 的信息时,我遇到了这个问题:
我敢肯定这是一个非常好的解释,但是我无法掌握主要思想/好处。
据我目前了解:
- 在函数定义中使用 splat 允许我们指定我们不知道函数将给出多少个输入参数,可能是 1,可能是 1000。不要真正看到这样做的好处,但至少我理解 (我希望)这个概念。
- 使用 splat 作为函数的输入参数会......究竟是什么?我为什么要使用它?如果我必须将数组的内容输入到参数列表中,我将使用以下语法:some_array(:,:)(对于 3D 数组,我将使用 some_array(:,:,:) 等)。
我认为我不明白这一点的部分原因是我在努力定义元组和数组,是 Julia 中的元组和数组数据类型(如 Int64 是一种数据类型)吗?或者它们是数据结构,什么是数据结构?当我听到数组时,我通常会想到 2D 矩阵,这可能不是在编程上下文中想象数组的最佳方式?
我意识到你可能会写整本关于什么是数据结构的书,我当然可以用谷歌搜索它,但是我发现对一个主题有深刻理解的人能够用更简洁(也许是简化)来解释它那么让我们说维基百科文章可以,这就是我问你们(和女孩)的原因。
ruby - Ruby splat 用法
我在文本中看到了一个插图,但是当我在 IRB shell 中尝试它时,我得到了一个错误。以下代码合法吗?否则是否有一种速记方法来获取中间数组(假设是排序数组,假设为 1 或 2 个元素的中位数)。
ruby - Splat 运算符和方法覆盖
我有一个带有子类的基类,这些子类覆盖了一个采用多个参数的方法。
这工作正常。但是,假设 Parent 中有一个调用 foo 的方法 foobar:
这在 Child 实例上调用时会引发 ArgumentError,因为 foo_args 是一个单独的数组,而 Child.new.foo 需要两个对象。有没有解决的办法?
ruby - ruby:当总和为 21 时添加数字并打印 true
这是 rubeque.com 上给出的一个简单问题:编写一个方法,该方法接受任意数量的整数并将它们相加,如果总和为 21,则返回 true。否则返回 false。它测试输入:
这是我到目前为止所拥有的:
但我收到错误消息:
我真的很困惑如何解决这个问题。是否可以将 if/else 语句放在方法中?对不起,如果这个问题真的很基本。我是编程新手。