Haskell 打印字符串标准输出

2023-12-15

我需要打印 powerset 中的元素。现在我的代码的输出是这样的:

"a"
"ab"
"b"
"x"
"xy"
"xyz"
"xz"
"y"
"yz"
"z"

但是,我需要输出不带引号,如下所示:

a
ab
b
x
xy
xyz
xz
y
yz
z

这就是我所拥有的。我该如何修复它以获得正确的输出?

import Data.List
powerset = foldr (\x acc -> acc ++ map (x:) acc) [[]]

main = do
    numCases <- getLine
    repl $ (read numCases :: Int)

repl num = do
    if(num == 0) then return ()
    else do
        size <- getLine
        input <- getLine
        let ret = tail $ sort $ powerset input
        mapM (\x -> print x) ret
        repl $ num-1

First (\x -> f x)相当于普通的f(几乎在所有情况下)通过 eta 减少。所以,你可以重写mapM (\x -> print x) as mapM print.

要删除引号,您应该使用该函数putStrLn而不是print功能。中的引号print来自print = putStrLn . show. show是一个函数,它以一种可以(如果定义了合适的实例)读回的方式打印出值read。因此,字符串上的引号是您不希望(或不需要)用于您的用例的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Haskell 打印字符串标准输出 的相关文章

随机推荐

  • 优化重复的 matlab 代码

    我正在优化一个模型 该模型获取一些天气数据 然后将云转换为多边形 以便可以进一步利用它们 该代码可以工作 但速度很慢 通过运行探查器 我发现正在调用以下几行106360430次 处理时间大约为 50 秒 有什么办法可以让这些线路更有效率吗
  • 使 SwiftUI 矩形与另一个矩形具有相同的高度或宽度

    对于 macOS 应用程序中的 SwiftUI 布局 我有三个矩形 如下所示 生成此布局的代码是 import SwiftUI struct ContentView View var body some View VStack HStack
  • 安装laravel 5.7后是否需要执行“php artisan key:generate”命令

    我已经安装了拉拉维尔 5 7在我的系统中 我想知道是否有必要执行php artisan key generate命令 php artisan 密钥 生成 该命令设置APP KEY你的价值 env file 如果您使用 Composer 创建
  • 将一个表中的记录插入到另一个表中

    我在 Access VBA 代码中将其作为用户窗体上的单击按钮 我有两个重复的表 PrintTable 和 ManPowerCalculator 我试图将 ManPowerCalculator 表中的每个项目插入到 PrintTable 中
  • iPhone Web 应用程序的 jQuery Mobile 高度问题,假设页面高度为 480 而不是 460

    jQuery Mobile 似乎在初始化时计算页面高度 但由于我们在应用程序中启用了状态栏 JQM 假设我们有 480 像素可用 而不是 460 像素 我们正在为 iPhone 构建移动网络应用程序 我们使用 JQM 1 1 1 和 Pho
  • 如何在 Python 中将多个高斯曲线拟合到质谱数据?

    我想在 Python 中将多条高斯曲线拟合到质谱数据 现在 我一次对数据进行高斯拟合 实际上是一次一个范围 有没有更简化的方法来做到这一点 有没有办法可以通过循环运行数据以在每个峰值处绘制高斯分布 我猜一定有更好的方法 但我已经通过互联网进
  • Solr Lucene 中连字符/破折号的挑战

    我试图让 Solr 仅提取格式类似于 n nnnnnnn 的票证的第二个 7 位数字部分 原本我希望把全票保留在一起 根据文档 数字与数字应该保留在一起 但在解决这个问题一段时间并查看代码后 我认为情况并非如此 Solr 总是生成两个项 因
  • Linq - 将 GroupBy 与我自己的类型与匿名类型一起使用

    我有一个要使用 Linq 分组的对象列表 对象类型是 GroupRating 我想按它们的 Params 属性对它们进行分组 public class GroupRating public long Id get set public Pa
  • 获取加起来达到目标​​总和的元素组合

    是否可以得到a总和等于变量的列表元素sum 我尝试过迭代 如果我想从列表中获取 2 个元素 也许可以这样做 但我不知道如何获取更多元素 def function sum a h c 1 2 3 4 5 6 7 8 return f sum
  • emacs 中的 Shift 箭头选择

    我正在使用 GNU Emacs 23 2 1我的init el cua mode 1 transient mark mode 1 setq shift select mode t global linum mode 1 show paren
  • PL/SQL - 如何在 IN 子句中使用数组

    我试图在 IN 子句中使用我的过程的输入值数组作为游标的 where 子句的一部分 我知道以前有人问过这个问题 但我还没有看到如何使我的语法正确编译 在封装规范中 类型为 TYPE t brth dt IS TABLE OF sourceT
  • 在大目录中转换 XML 时出现 java.lang.OutOfMemoryError

    我想使用 XSLT2 在一个具有很多级别的巨大目录中转换 XML 文件 文件数量超过 100 万个 每个文件大小 4 至 10 kB 一段时间后 我总是收到 java lang OutOfMemoryError Java 堆空间 我的命令是
  • 将 MemoryStream 写入响应对象

    我正在使用以下代码来传输 MemoryStream 对象中的 pptx 但是当我打开它时 我在 PowerPoint 中收到修复消息 将 MemoryStream 写入响应对象的正确方法是什么 HttpResponse response H
  • 根据日期和时区计算 tm_isdst

    当我运行线路时 time strptime 2012 06 01 12 00 00 time strftime Z Y m d H M S Z 它为我创建了一个结构 但标志tm isdst是错的 六月初 DST 已生效 但无论我在哪一天输入
  • 如何在Access表中插入列描述?

    如何使用 SQL 在 Access 表中插入列的描述 I do CREATE TABLE TAB A COLUMN1 TEXT 30 COLUMN2 REAL PRIMARY KEY COLUMN1 但如何为每列插入描述 你不能用 SQL
  • 我的不和谐机器人代码正在运行,但没有响应我的命令[重复]

    这个问题在这里已经有答案了 我是一名编程大三学生 我了解 Node js 并且想编写自己的 Discord 机器人 我下面写的代码不起作用 你能帮我解决这个问题吗 const Client Intents require discord j
  • Powershell 在空文件夹上比较对象

    我正在编写一个简单的 DLL 复制脚本来帮助我的开发团队设置他们的本地环境 我检查 build devdrop 文件夹并获取 DLL 文件列表 然后 我查看本地文件夹并复制所有较新的 DLL 我的问题是当本地文件夹为空时 即脚本第一次运行
  • Scala Akka HTTP 转换参数为 java.time.ZonedDateTime

    我正在使用 Akka HTTP 在 Scala 中 开发 REST 服务 我希望将传入 http get 请求的参数转换为 ZonedDateTime 类型 如果我尝试使用 String 或 Int 但使用 ZonedDateTime 类型
  • 从 NetworkStream 读取特定数量的字节

    我正在尝试从网络流中读取已知长度的消息 我有点期待NetworkStream Read 将等待返回 直到我给它的缓冲区数组已满 如果不是 那么这样做的意义何在 ReadTimeout财产 我用来测试我的理论的示例代码 public stat
  • Haskell 打印字符串标准输出

    我需要打印 powerset 中的元素 现在我的代码的输出是这样的 a ab b x xy xyz xz y yz z 但是 我需要输出不带引号 如下所示 a ab b x xy xyz xz y yz z 这就是我所拥有的 我该如何修复它