我一直在尝试在 Rails 上设置 ruby。
我会创建一个新项目
# rails new test
Run Code Online (Sandbox Code Playgroud)
我会收到此错误消息
Traceback (most recent call last):
6: from /usr/bin/rails:23:in `<main>'
5: from /usr/lib/ruby/2.7.0/rubygems.rb:295:in `activate_bin_path'
4: from /usr/lib/ruby/2.7.0/rubygems.rb:295:in `synchronize'
3: from /usr/lib/ruby/2.7.0/rubygems.rb:297:in `block in activate_bin_path'
2: from /usr/lib/ruby/2.7.0/rubygems.rb:230:in `finish_resolve'
1: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:175:in `require'
/usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:175:in `ensure in require': CRITICAL: RUBYGEMS_ACTIVATION_MONITOR.owned?: before false -> after true (RuntimeError)
Run Code Online (Sandbox Code Playgroud)
我已经呆了很长一段时间了,但找不到解决方案。
我还确保所有内容都已更新# gem update
抱歉,如果这是一个简单的问题,我对 ruby on Rails 相当陌生。我猜这可能是显示器包的问题?
我正在运行内核为 5.6.11-arch1-1 的 Linux,如果有帮助的话
当我遇到此错误时,我正在解析文件中的一些字符串输入。通常,如果将一系列方法链接在一行上或将它们分成多个操作,则不会产生任何影响。然而,当方法链在一行中时,它不会编译。
当像这样分割成多个语句时,我不会收到错误(链接到游乐场)
let input = std::fs::read_to_string("tst_input.txt").expect("Failed to read input");
let input = input
.lines()
.map(|l| {
let mut iter = l.split(" | ");
(
iter.next()
.unwrap()
.split_whitespace()
.collect::<Vec<&str>>(),
iter.next()
.unwrap()
.split_whitespace()
.collect::<Vec<&str>>(),
)
})
.collect::<Vec<_>>();
Run Code Online (Sandbox Code Playgroud)
当它出现在像这样的单个语句中时,我会遇到终身错误(链接到游乐场)
let input = std::fs::read_to_string("tst_input.txt")
.expect("Failed to read input")
.lines()
.map(|l| {
let mut iter = l.split(" | ");
(
iter.next()
.unwrap()
.split_whitespace()
.collect::<Vec<&str>>(),
iter.next()
.unwrap()
.split_whitespace()
.collect::<Vec<&str>>(),
)
})
.collect::<Vec<_>>()
Run Code Online (Sandbox Code Playgroud)
error[E0716]: temporary value dropped while borrowed
--> src/main.rs:2:17
|
2 | let …Run Code Online (Sandbox Code Playgroud)