ネオンの使い方を学んでいますが、私は事を理解していません。私はこのコードを実行しようとした場合:ネオンは使用できませんJsArray:この関数は3つのパラメータをとりますが、2つは提供されました
#[macro_use]
extern crate neon;
use neon::vm::{Call, JsResult};
use neon::mem::Handle;
use neon::js::{JsInteger, JsNumber, JsString, JsObject, JsArray, JsValue, Object, Key};
use neon::js::error::{JsError, Kind};
fn test(call: Call) -> JsResult<JsArray> {
let scope = call.scope;
let js_arr: Handle<JsArray> = try!(try!(call.arguments.require(scope, 1)).check::<JsArray>());
js_arr.set(0, JsNumber::new(scope, 1000));
Ok(js_arr)
}
register_module!(m, {
m.export("test", test)
});
を私はjs_arr.set
を呼び出すときに、私はこのエラーを取得:This function takes 3 parameters but 2 were supplied.
それはJsArray
だので、私は理由を理解していません。 Racerでもsetメソッドには2つのパラメータが必要であることがわかります。何があっても、js_arr.set
は、&mut bool
,neon::macro_internal::runtime::raw::Local
、neon::macro_internal::runtime::raw::Local
の順に3つのパラメータをとります。
何が起こっているかJsArray
の仕組みを理解できません。
unsafe fn set(self, out: &mut bool, obj: Local, val: Local) -> bool
私はあなたが誤って(Handle::set
を呼び出そうとしているがunsafe
であり、3つの非self
の引数をとることを推測すると思います:
私はあなたが[ネオンリポジトリに問題を開いた]ことを確認(https://でgithubの。 com/neon-bindings/neon/issues/218) - [JsArray'に関する既存の問題](https://github.com/neon-bindings/neon/issues/57)も読んだことがありますか? – Shepmaster
@Shepmaster道を見つけました、もし私が失礼であれば、ごめんなさい、助けてくれてありがとう。 – pietrovismara
心配ありません。新しい言語やライブラリを手に入れようと苦労して、どのようにイライラすることができるのか、私は完全に理解しています!良いニュースは、他の人々の束が同じ根底にある問題を抱えているように見えるということです。 – Shepmaster