2023/8/13 DNA
https://gyazo.com/da4c7af8745923df04b93e7f7de8678e
https://exercism.org/tracks/haskell/exercises/rna-transcription/
DNAの変換をやるだけ
DNAの変換自体が懐かしいmrsekut.icon
DNA→RNA
G -> C
C -> G
T -> A
A -> U
問題が単純すぎてあまり工夫の余地がない
star多めの回答
https://exercism.org/tracks/haskell/exercises/rna-transcription/solutions/phuongduyphan
traverseを使っている
これが
code:hs
toRNA :: String -> Either Char String
toRNA "" = Right ""
toRNA (d:ds) = (:) <$> toRNA' d <*> toRNA ds
where
toRNA' 'G' = pure 'C'
toRNA' 'C' = pure 'G'
toRNA' 'T' = pure 'A'
toRNA' 'A' = pure 'U'
toRNA' x = Left x
こう書ける
code:hs
toRNA :: String -> Either Char String
toRNA = traverse toRNA'
where
toRNA' 'G' = pure 'C'
toRNA' 'C' = pure 'G'
toRNA' 'T' = pure 'A'
toRNA' 'A' = pure 'U'
toRNA' x = Left x
#ExercismをHaskellで解く