は、だから私は、現在、ヒープメモリにYaml
ファイルをロードすることでstruct
を初期化するに困惑: ヒープ参照を使用して構造体をイディオムで構築する方法は?
extern crate yaml_rust;
use std::io::prelude::*;
use std::fs;
use yaml_rust::{Yaml, YamlLoader};
struct Petrovich {
middlename: Yaml,
firstname: Yaml,
lastname: Yaml
}
impl Petrovich {
fn new() -> Petrovich {
// Open Rules File (Panics on error)
let mut f = fs::File::open("./src/rules.yml").unwrap();
// Create String Buffer and Read to it
let mut buffer = String::new();
f.read_to_string(&mut buffer).unwrap();
// Pass Buffer to Yaml and unwrap
let rules: &Yaml = &YamlLoader::load_from_str(&buffer).unwrap()[0];
// Return Petrovich with preloaded rules
Petrovich {
middlename: rules["middlename"],
firstname: rules["firstname"],
lastname: rules["lastname"]
}
}
}
は、しかし、私は
cannot move out of indexed content
エラーが発生します。どのように私はこれに取り組んでいますか?
EDIT:https://github.com/Latrasis/petrovich-rs
ありがとうございます!これは実際にはるかに読みやすいです! – latrasis