在 Haskell do-notation 块中说,我希望有一个变量来is_root
指示我是否是 root:
import System.Posix.User
main = do
uid <- getRealUserID
is_root <- return $ uid == 0
那个烦人uid
的变量只用在那个地方。我希望我可以这样写:
main = do
is_root <- getRealUserID == 0
但这当然不会编译。
我怎样才能摆脱多余的变量,比如uid
?这是我想出的最好的:
import System.Posix.User
main = do
is_root <- getRealUserID >>= return . ((==) 0)
布莱赫!有没有更好的方法?