我有点惊讶这个代码无法编译.作为Rust的新手,我当然可能做了一些愚蠢的错误......
mod board {
enum Square {
Empty,
Black,
White
}
fn init () -> [Square;9] {
[Square::Empty; 9]
}
}
Run Code Online (Sandbox Code Playgroud)
main.rs:10:9:10:27错误:
core::marker::Copy类型board::Square[E0277] main.rs:10 [Square :: Empty; 9]
或者它是一种语言非特征,枚举不允许作为数组元素类型?
我无法理解以下代码中的问题应该是什么:
extern crate rand;
use rand::*;
#[derive(Debug)]
enum Foo {
A,
B,
}
static FOOS: [Foo; 2] = [Foo::A, Foo::B];
fn random_foo() -> Foo {
let i = rand::thread_rng().gen_range(0, FOOS.len());
FOOS[i]
}
fn main() {
println!(
"First: {:?} Second: {:?} Random: {:?}",
FOOS[0],
FOOS[1],
random_foo()
);
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
extern crate rand;
use rand::*;
#[derive(Debug)]
enum Foo {
A,
B,
}
static FOOS: [Foo; 2] = [Foo::A, Foo::B];
fn random_foo() -> Foo {
let i = rand::thread_rng().gen_range(0, FOOS.len());
FOOS[i]
}
fn …Run Code Online (Sandbox Code Playgroud) 我有想法在Haskell中实现自己的小音乐理论模块。
从便笺(Note)开始是有意义的,然后我就遇到了这个讨厌的句法问题,我不知道真正的Haskellers是如何处理它的。
data Note = Sharp NoteS | Flat NoteF deriving (Show)
data NoteS =
C | SC | D | SD | E | F | SF | G | SG | B
deriving (Ord,Show,Eq)
data NoteF =
C | FD | D | FE | E | F | FG | G | FB | B
deriving (Ord,Show,Eq)
instance Eq Note where
(==) (NoteS n1) (NoteS n2) = n1 == n2
(==) (NoteF n1) (NoteF n2) …Run Code Online (Sandbox Code Playgroud) module Main(main) where
import Text.Printf
data RxEvent a =
Value a
| Error String
| Done
deriving (Show,Eq)
notify :: (Monad m, Foldable t, Num a1) => t (RxEvent a -> t1) -> RxEvent a -> m a1
notify subs ev =
return $ Prelude.foldl (\ c s -> seq (s ev) (c+1) ) 0 subs
o name ev = do
putStrLn name
print ev
return 0
o1 = o "o1:"
o2 = o "o2:"
o3 = o "o3:"
main …Run Code Online (Sandbox Code Playgroud) 经过一段时间的摆弄后,我决定在这里问这个问题,因为 - 其他人不会像我一样浪费那么多的摆弄时间。
那么,如何将 a 转换DateTime<Utc>为NaiveDateRustchrono箱子呢?
这是“填空”类型的测试代码:
#[test]
fn test_utc_now_to_naive_date() {
let utc_now = Utc::now();
let now: NaiveDate = ???? // how?
}
Run Code Online (Sandbox Code Playgroud)
我将这样一个事实归结为:在大多数语言中,时间和日期函数库都是过度设计的怪物,这归因于遭受 Y2K bug 的 PTSD 人们......
我们有这样的特征Datelike,难道这不会有助于将一个类似日期的东西转换成另一种吗?好吧 - 我找不到解决方案......