diff --git a/src/main.rs b/src/main.rs index 1c299bf..faed1b4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -629,9 +629,6 @@ fn royalty_stuff() { } } -fn process_file(fname: &str) { - println!("Processing file: {}",fname) - } enum Result { AddedTrader(usize), @@ -757,67 +754,8 @@ impl Market { } } -fn process_file(fname: &str) { - println!("Processing file: {}",fname) - } -fn interactive(m: &mut Market) { - println!("Trading interactively in Tuesday Markets (demo)"); - let stdin = io::stdin(); - let mut trader:usize=0; - for line in stdin.lock().lines() { - match line { - Ok(input) => { - let tokens: Vec<&str> = input.split_whitespace().collect(); - match tokens.as_slice() { - ["dump"] => m.dump(), - ["login", username] => - if let Some(t)=m.trader_name2num.get_mut(*username) { trader=*t; println!("Logged in as {}",m.traders[trader].name) } else { println!("Trader {} not found.",username) }, - ["whoami" ] => { println!("Logged in as {}, id {}",m.traders[trader].name,trader ); } - ["addtrader", username] => { let id=m.register_trader(username); println!("Added user {} as id {}",username,id); }, - ["balances"] => { - println!("Balances for trader {}",m.traders[trader].name); - for (key,value) in &m.traders[trader].balances { println!(" {} {}",m.number_to_name(*key),value); } - } - ["addasset", assetname] => { - if let Some(cur)=m.register_asset(assetname) { println!("Added asset {} ",m.number_to_name(cur)) } - else { println!("Asset {} already exists.",assetname) } - } - ["addfunds", username, qty0, cur0 ] => { - let id=m.trader_name2num.get(*username); - let qty=FiNum::new_str(qty0); - let cur=m.name_to_number(cur0); - if id.is_none() { println!("Could not find trader {}",username); } - else if qty.is_zero() { println!("Could not parse quantity {}",qty0) } - else if cur.is_none() { println!("Could not find asset {}",cur0) } - else { - let id=*id.unwrap(); - let cur=*cur.unwrap(); - m.add_trader_balance(id,cur,qty); - println!("Added {} {} to {}",qty,m.number_to_asset(cur).name,m.traders[id].name) - } - } - ["order", qty0, cur0, qty1, cur1 ] => { - let qty0=FiNum::new_str(qty0); - let cur0=m.name_to_number(cur0); - let qty1=FiNum::new_str(qty1); - let cur1=m.name_to_number(cur1); - if !qty0.is_zero() && cur0.is_some() && !qty1.is_zero() && cur1.is_some() { - m.make_order(trader,*cur0.unwrap(),*cur1.unwrap(),qty0,qty1); - } - } - ["quit"] => { - break; - } - _ => println!("Invalid command. Please try again."), - } - } - Err(error) => println!("Error reading input: {}", error), - } - } -} - fn erase(filename: &str) { // Stub function for erasing a file println!("Erasing file: {}", filename);