198 Tôi biết bạn có thể chuyển đổi một Stringsố thành read: Prelude> read "3" :: Int 3 Prelude> read "3" :: Double 3.0 Nhưng làm thế nào để bạn lấy Stringđại diện của một Intgiá trị? string haskell int casting — Sóc nguồn
286 Ngược lại readlà show. Prelude> show 3 "3" Prelude> read $ show 3 :: Int 3 — Chuck nguồn 38 @Lega: Bạn có thể thấy điều này hữu ích: haskell.org/hoogle/?hoogle=Int+-%3E+String . — kennytm 3 @ KennyTM Rất nhiều người sẽ thấy liên kết đó hữu ích! Chỉ một liên kết là +1, nhưng để hiển thị cách sử dụng ... Đó là +10 Cảm ơn :) — CoR Lưu ý rằng một số tổ chức / tiêu chuẩn không khuyến khích sử dụng "chương trình" vì tính đa hình cực đoan của nó. Một hàm cụ thể loại (hoặc, trong trường hợp xấu nhất, trình bao bọc xung quanh chương trình) sẽ hữu ích. — Jon Watte @JonWatte "Có thể", không "sẽ". Ở cấp độ tổng quát của câu hỏi này, tôi không nghĩ đề xuất của bạn là có thể thực hiện được. — song mã Có cách nào để làm điều này bằng tay mà không cần chức năng hệ thống không? — lesolorzanov
4 Một ví dụ dựa trên câu trả lời của Chuck: myIntToStr :: Int -> String myIntToStr x | x < 3 = show x ++ " is less than three" | otherwise = "normal" Lưu ý rằng không có showdòng thứ ba sẽ không biên dịch. — prasad_ nguồn
4 Bất cứ ai mới bắt đầu với Haskell và cố gắng in một Int, hãy sử dụng: module Lib ( someFunc ) where someFunc :: IO () x = 123 someFunc = putStrLn (show x) — Arlind nguồn