- 授权协议: MIT
- 开发语言: Rust
- 操作系统: 跨平台
- 软件首页: https://github.com/anima-engine/mrusty
- 软件文档: https://github.com/anima-engine/mrusty
软件介绍
mrusty 可以让你在 mruby 中使用 Rust 的结构和枚举并运行它们。
示例代码:
// mrfn!
#[macro_use]
extern crate mrusty;
// Needs some undocumented, hidden calls.
use mrusty::*;
let mruby = MRuby::new();
struct Cont {
value: i32
}
// Cont should not flood the current namespace. We will add it with require.
impl MRubyFile for Cont {
fn require(mruby: MRubyType) {
mruby.def_class::<Cont>("Container");
// Converts mruby types automatically & safely.
// slf is always Value in initialize().
mruby.def_method::<Cont, _>("initialize", mrfn!(|_mruby, slf: Value, v: i32| {
let cont = Cont { value: v };
slf.init(cont)
}));
mruby.def_method::<Cont, _>("value", mrfn!(|mruby, slf: Cont| {
mruby.fixnum(slf.value)
}));
}
}
// Add file to the context, making it requirable.
mruby.def_file::<Cont>("cont");
// Add spec testing.
describe!(Cont, "
context 'when containing 1' do
it 'returns 1 when calling #value' do
expect(Container.new(1).value).to eql 1
end
end
");
let result = mruby.run("
require 'cont'
Container.new(3).value
").unwrap(); // Returns Value.
println!("{}", result.to_i32().unwrap()); // Prints "3".
程序员面试金典(第5版)
[美] Gayle Laakmann McDowell / 李琳骁、漆 犇 / 人民邮电出版社 / 2013-11 / 59.00
本书是原谷歌资深面试官的经验之作,层层紧扣程序员面试的每一个环节,全面而详尽地介绍了程序员应当如何应对面试,才能在面试中脱颖而出。第1~7 章主要涉及面试流程解析、面试官的幕后决策及可能提出的问题、面试前的准备工作、对面试结果的处理等内容;第8~9 章从数据结构、概念与算法、知识类问题和附加面试题4 个方面,为读者呈现了出自微软、苹果、谷歌等多家知名公司的150 道编程面试题,并针对每一道面试题目......一起来看看 《程序员面试金典(第5版)》 这本书的介绍吧!
