我正在构建我的第一个Rails应用程序,并希望包含FileUtils以管理我的Google工作表API(我让它在一个独立的脚本中工作).
但是,当我将FileUtils添加到我的gemfile并使用时,bundle install我收到以下错误:
错误:安装fileutils时出错:fileutils需要Ruby版本> = 2.5.0dev.
最稳定的Ruby版本是2.4.1.
那我错过了什么?
我为我的静态站点使用了 Gatsby 入门版,该入门版中包含的页面之一是包含所有 UI 元素的演示页面。
我想保留该页面(以便我可以从演示中复制和粘贴)但不想公开。如何在不删除文件的情况下“取消发布”?
在生成面向公众的网站时,有没有办法告诉 gatsby-node.js 跳过该页面?
寻找一种更有效的方法,使用Ruby中的另一个数组过滤数组数组.让我来证明一下.从这开始:
core = [[1, "apple", "James Bond"],
[5, "orange", "Thor"],
[10, "banana", "Wolverine"],
[15, "orange", "Batman"],
[20, "apple", "Mickey Mouse"],
[25, "orange", "Lee Adama"],
[30, "banana", "Luke Skywalker"]]
filter = ["apple", "banana"]
result = core.magical_function(filter)
# result == [[5, "orange", "Thor"],
# [15, "orange", "Batman"],
# [25, "orange", "Lee Adama"]]
Run Code Online (Sandbox Code Playgroud)
我唯一能想到的是循环过滤元素,但是当这个玩具示例变得更复杂时,这会大大减慢我的代码.
我有一个哈希数组,每个哈希都有非规范化的值,如下所示:
arr = [{
id: 0,
type: 'character',
person: {
name: 'Steve Rogers',
weapon: 'Shield',
known: true
}
},
{
id: 1,
type: 'organization',
company: "Pym Industries",
tech: 'Shrinking suit'
},
{
id: 2,
type: 'character',
person: {
name: 'Tony Stark',
weapon: 'Ironman Suit',
known: false
}
}]
Run Code Online (Sandbox Code Playgroud)
一些哈希是不同的.我想获得哈希值,其人我知道,也就是的一个子,arr.person.known是true.结果应该是:
subarr = [{
id: 0,
type: 'character',
person: {
name: 'Steve Rogers',
weapon: 'Shield',
known: true
}
}]
Run Code Online (Sandbox Code Playgroud)
我试过了:
b = arr.select{|x| x.person.known}
b = arr.reject{|x| if …Run Code Online (Sandbox Code Playgroud)