From ae98925062d5a392a73df4a1456df3a4a3be9b18 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Fri, 8 Mar 2013 20:14:51 -0600 Subject: factor common behavior out into a library --- REVC.rs | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) (limited to 'REVC.rs') diff --git a/REVC.rs b/REVC.rs index 3c9e9e7..2503c87 100644 --- a/REVC.rs +++ b/REVC.rs @@ -1,26 +1,9 @@ -use io::{stdin,println,ReaderUtil}; - -/* really feels like there should be a more efficient way to do this */ -fn reverse(s: &str) -> ~str { - let mut r = ~""; - str::reserve(&mut r, str::len(s)); - for str::each_char(s) |ch| { - str::unshift_char(&mut r, ch) - } - r -} - -fn complement(ch: char) -> char { - match ch { - 'A' => 'T', - 'C' => 'G', - 'G' => 'C', - 'T' => 'A', - _ => fail ~"Unknown character found", - } -} +extern mod rosalind; +use rosalind::dna::complement; +use rosalind::io::input_line; +use rosalind::str::reverse; fn main() { - let dna = stdin().read_line(); - println(str::map(reverse(dna), complement)); + let dna = input_line(); + io::println(str::map(reverse(dna), complement)); } -- cgit v1.2.3-54-g00ecf