2006-04-26 [長年日記]
λ. read "1" :: Rational
しょぼーん。 文字列で与えられたRationalのリテラルをevalする簡単な方法はないだろうか? hs-pluginsでevalするってのは無しね。
Prelude> 1 :: Rational 1%1 Prelude> read "1" :: Rational *** Exception: Prelude.read: no parse
何が悲しかったか、もう少し説明する。「123」のようなリテラルは概念的には「fromInteger (123::Integer)」として扱われるので、そのような文字列からNumに属する任意の型の値を得るには「fromInteger (read "123")」とすればよかった。それに対して、「1.23」のようなリテラルは概念的には「fromRational (1.23::Rational)」として扱われる。そのような文字列からFractionalに属する型の任意の値を得るためには、「fromRational (read "1.23")」とすれば良いのではないかと類推したのだが、これは正しくなかったのだった。
>五月病<br>me too.
やや慢性です・・・.
修士病...
流行を先取り?
みな五月病になるがいい (゜∀゜)アヒャヒャヒャヒャ.
わたしも慢性修士病… (゜∀゜)アヒャヒャヒャヒャ.
まあとりあえず大学来て,なんか話してみれば?<br>気分が晴れることもあると思うよ.