#macro #let #pattern #data #self #vec-u8 #read

if-let-return

一个简单的宏,用于 if let ... 模式。

2 个版本

0.1.1 2019 年 5 月 15 日
0.1.0 2018 年 9 月 12 日

#2762 in Rust 模式

自定义许可

7KB

if-let-return

用于 if let ... 的简单宏。

用法

if_let_some!

pub fn read(&self, wrapped_data: Option<&str>) -> Vec<u8> {
  let data = if let Some(data) = wrapped_data {
    data
  } else {
    return vec![];
  }

  some_function(data);

  ...
}

pub fn read(&self, wrapped_data: Option<&str>) -> Vec<u8> {
  if_let_some!(data = wrapped_data, vec![]);

  some_function(data);

  ...
}

if_let_ok!

pub fn read(&self, wrapped_data: Result<&str, Error>) -> Vec<u8> {
  let data = match wrapped_data {
    Ok(data) => data,
    Err(err) => return err.to_vec(),
  };

  some_function(data);
  ...
}

pub fn read(&self, wrapped_data: Result<&str, Error>) -> Vec<u8> {
  if_let_ok!(data = wrapped_data, |err| err.to_vec());

  some_function(data);
  ...
}

无运行时依赖