Haskell do-notation ブロックで、is_root
自分が root かどうかを示す変数が必要だとします。
import System.Posix.User
main = do
uid <- getRealUserID
is_root <- return $ uid == 0
その煩わしいuid
変数は、その 1 つの場所でのみ使用されます。代わりに、これを書くことができればいいのにと思います:
main = do
is_root <- getRealUserID == 0
しかし、もちろんそれはコンパイルされません。
のような余分な変数を取り除くにはどうすればよいuid
ですか? これが私が思いついた最高のものです:
import System.Posix.User
main = do
is_root <- getRealUserID >>= return . ((==) 0)
ブリーチ!より良い方法はありますか?