Advertisement
Guest User

Untitled

a guest
Dec 11th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rust 0.82 KB | None | 0 0
  1. use std::{thread, time};
  2.  
  3. fn beniz<'a>(max:f32, val:f32, len:i32) -> String {
  4.    let mut b = String::new();
  5.    let v = ((val / max) * len as f32) as i32;
  6.    for x in -len..0 {
  7.        b.push(if x > v {
  8.            '='
  9.        } else if x == v {
  10.            'C'
  11.        } else {
  12.            ' '
  13.        });
  14.    }
  15.    b.push('8');
  16.    for x in 1..len {
  17.        b.push(if x < v {
  18.            '='
  19.        } else if x == v {
  20.            'D'
  21.        } else {
  22.            ' '
  23.        });
  24.    }
  25.    b
  26. }
  27.  
  28. fn benizy<F>(max:f32, f:F, step:f32, len: i32)
  29.    where F: Fn(f32) -> f32 {
  30.    let mut val = 0f32;
  31.    loop {
  32.        println!("{}", beniz(max, f(val), len));
  33.        val += step;
  34.        thread::sleep(time::Duration::from_millis(25));
  35.    }
  36. }
  37.  
  38. fn main() {
  39.    benizy(1.0, |x| x.sin(), 0.1, 20);
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement