Skip to content

Instantly share code, notes, and snippets.

@NebulaFox
NebulaFox / playground.rs
Last active March 17, 2020 15:41
How long is a piece of string with make a string
use rand; // 0.7.3
use rand::Rng;
fn make_a_string() -> String {
let mut s = String::new();
s.push_str("Hello World");
let mut rng = rand::thread_rng();
let r = rng.gen_range(0, 100);
for _ in 0..r {
@NebulaFox
NebulaFox / playground.rs
Last active March 17, 2020 13:54
How long is a piece of string with make a string with another string
use rand; // 0.7.3
use rand::Rng;
fn make_a_string_with(string: &str) -> String {
let mut s = String::new();
s.push_str(string);
let mut rng = rand::thread_rng();
let r = rng.gen_range(0, 100);
for _ in 0..r {
@NebulaFox
NebulaFox / playground.rs
Last active March 19, 2020 19:36
trait magic
use rand; // 0.7.3
use rand::Rng;
fn make_a_string_with(string: &str) -> String {
let mut s = String::new();
s.push_str(string);
let mut rng = rand::thread_rng();
let r = rng.gen_range(0, 100);
for _ in 0..r {
@NebulaFox
NebulaFox / playground.rs
Last active March 17, 2020 15:55
move semantic
use rand; // 0.7.3
use rand::Rng;
fn make_a_string_with(string: &str) -> String {
let mut s = String::new();
s.push_str(string);
let mut rng = rand::thread_rng();
let r = rng.gen_range(0, 100);
for _ in 0..r {
@NebulaFox
NebulaFox / playground.rs
Created March 17, 2020 15:51
how long is a piece of string corecing String
use rand; // 0.7.3
use rand::Rng;
fn make_a_string() -> String {
let mut s = String::new();
s.push_str("Hello World");
let mut rng = rand::thread_rng();
let r = rng.gen_range(0, 100);
for _ in 0..r {
@NebulaFox
NebulaFox / playground.rs
Last active March 18, 2020 13:56
Deref example
use std::ops::Deref;
use rand; // 0.7.3
use rand::Rng;
#[derive(Debug, PartialEq)]
struct Wrap<T> {
inside: T
}
impl<T> Wrap<T> {
@NebulaFox
NebulaFox / playground.rs
Last active March 18, 2020 17:16
Vec contains solution
fn contains<T, Q>(arr: &[T], value: &Q) -> bool
where
T: std::cmp::PartialEq<Q>,
{
arr.iter().any(|v| v == value)
}
fn main() {
let array_str = ["a", "b", "c"];
let array_string = ["a".to_string(), "b".to_string(), "c".to_string()];
@NebulaFox
NebulaFox / playground.rs
Last active March 18, 2020 18:02
Vec contains problem
fn main() {
let array_str = ["a", "b", "c"];
let array_string = ["a".to_string(), "b".to_string(), "c".to_string()];
let value_str = "b";
let value_string = String::from(value_str);
let result_str = array_str.contains(&value_string);
let result_string = array_string.contains(&value_str);
let result_literal = array_string.contains("b");
@NebulaFox
NebulaFox / playground.rs
Last active March 18, 2020 18:17
HashSet contains problem
use std::collections::HashSet;
fn main() {
let hs_str: HashSet<&str> = ["a", "b", "c"].iter().copied().collect();
let hs_string: HashSet<String> = vec!["a".to_string(), "b".to_string(), "c".to_string()]
.into_iter()
.collect();
let value_str = "b";
let value_string = String::from(value_str);
@NebulaFox
NebulaFox / playground.rs
Last active March 18, 2020 18:43
HashSet contains solution
use std::collections::HashSet;
fn contains<T, Q>(arr: &HashSet<T>, value: &Q) -> bool
where
T: std::cmp::PartialEq<Q>,
{
arr.iter().any(|v| v == value)
}
fn main() {