6 个版本 (3 个破坏性更新)
0.4.0-alpha.1 | 2019 年 10 月 10 日 |
---|---|
0.3.1 | 2018 年 7 月 28 日 |
0.3.0 | 2018 年 1 月 16 日 |
0.2.0 | 2017 年 8 月 2 日 |
0.1.1 | 2016 年 8 月 22 日 |
#1 in #urban
12KB
73 行
urbandictionary.rs
Urbandictionary API 的非官方异步 Rust 客户端。
安装
此库需要至少 Rust 1.39。
将以下依赖项添加到您的 Cargo.toml 中
urbandictionary = "0.4.0-alpha.1"
示例
检索一个单词的定义列表,并打印第一个定义的示例(如果存在的话)
extern crate futures;
extern crate hyper;
extern crate hyper_tls;
extern crate tokio_core;
extern crate urbandictionary;
use futures::Future;
use hyper::client::{Client, HttpConnector};
use hyper_tls::HttpsConnector;
use std::error::Error;
use tokio_core::reactor::Core;
use urbandictionary::HyperUrbanDictionaryRequester;
fn try_main() -> Result<(), Box<Error>> {
let mut core = Core::new()?;
let client = Client::configure()
.connector(HttpsConnector::new(4, &core.handle())?)
.build(&core.handle());
let done = client.definitions("cat").and_then(|response| {
if let Some(definition) = response.definitions.get(1) {
println!("Examples: {}", definition.example);
}
Ok(())
}).map_err(|_| ());
core.run(done).expect("Error running core");
Ok(())
}
fn main() {
try_main().unwrap();
}
使用 reqwest,打印单词 "cat"
的定义
extern crate reqwest;
extern crate urbandictionary;
use reqwest::Client;
use std::error::Error;
use urbandictionary::ReqwestUrbanDictionaryRequester;
fn try_main() -> Result<(), Box<Error>> {
let client = Client::new();
let response = client.define("cat")?;
if let Some(definition) = response {
println!("The definition of cat is: {}", definition.definition);
} else {
println!("No definition found");
}
Ok(())
}
fn main() {
try_main().unwrap();
}
依赖项
~5–9MB
~215K SLoC