混淆 .fmt 行为与嵌套列表

2024-03-31

The docs https://docs.raku.org/routine/fmt比如说fmt

返回一个字符串,其中列表中的每个元素都已根据以下格式进行格式化$format[第一个参数] 并且每个元素由$separator[第二个论点]。

根据该描述,我希望能够致电.fmt在列表的列表上,然后传递printf-style 格式字符串包含%内部列表中每个元素的指令。但这是行不通的。

如果你告诉我我错了^^^^,我就预料到了.fmt自动展平其参数,因此每个参数都将被格式化并由$separator。但事实并非如此。

相反,运行此代码


say (<a b c>, <1 2 3>, <X Y Z>).fmt('→%03s|', "\n=================\n");

产生这个输出:

→00a| →00b| →00c|
=================
→001| →002| →003|
=================
→00X| →00Y| →00Z|

也就是说,格式字符串应用于中的每个元素inner列表,然后将这些列表字符串化(without使用格式字符串;请注意 每个之间| and 字符),然后在每个字符之间插入分隔符outer list.

这给我留下了三个问题:

  1. 我是否正确描述/理解了当前的行为? [edit: 没有。见下文]
  2. 这种行为是故意的还是奇怪的错误? (我检查了 Roast,但没有看到任何东西)
  3. 假设这是故意的,为什么?有什么方法可以使这与 Raku 处理我缺少的列表的一般方法一致吗?或者这种令人惊讶的行为的其他原因?

Edit:

经过进一步调查,我意识到只有在格式字符串包含宽度指令时才会发生上面观察到的行为。改变→%03s|将上面的字符串格式化为→%s|产生以下输出:

→a b c|
=================
→1 2 3|
=================
→X Y Z|

也就是说,如果没有宽度,则应用格式字符串after该列表是字符串化的而不是以前的。

所以我又开始感到困惑/认为至少其中一些行为一定是有问题的。


好吧,看起来这里至少有两个错误。这应该解决https://github.com/rakudo/rakudo/commit/a86ec91e36 https://github.com/rakudo/rakudo/commit/a86ec91e36。为这些情况编写 Spectest,我们将不胜感激:-)

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

混淆 .fmt 行为与嵌套列表 的相关文章

  • displayformatattribute 自定义字符串格式

    我希望能够将视图模型中的属性标记为在 MVC 视图中显示时使用自定义格式进行格式化 我假设我需要自己的显示格式属性并设置显示格式 但我不确定如何设置此显示格式或在哪里设置 如果我想将数字显示为货币 很简单 只需在属性的构造函数中将 Data
  • 具有自定义格式的 ASP.NET MVC ViewModel 映射

    我正在从事的项目在域模型中有大量货币属性 我需要将它们格式化为 用于向视图传输和从视图传输 我对可以使用的不同方法有一个想法 一种方法可能是在视图内显式设置值的格式 如下所示Steve Michelotti 的 模式 1 https web
  • 在 PHP 中用星号 (*) 提示或部分隐藏电子邮件地址

    我有这个邮件地址 email protected cdn cgi l email protection 如何将其转换为该邮件地址a email protected cdn cgi l email protection 我尝试使用strpos
  • sprintf 风格字符串格式化的起源

    字符串格式化概念见sprintf如今几乎可以在任何语言中找到 你知道 用 s d f 等掩盖字符串 并提供变量列表来填充它们的位置 哪种语言最初具有提供此功能的库函数或语言结构 请指定某种来源参考以确认您的主张 以便我们避免纯粹的猜测或猜测
  • 在不同时区之间格式化时间的正确方法是什么?

    我想将 19 19 00 之类的时间格式化为不同的时区 如果我使用SimpleDateFormat它始终考虑纪元的开始 1970 01 01 有些时区在纪元开始时和现在有不同的偏移量 例如 现在与欧洲 基辅的默认偏移量是 UTC 0200
  • 如何在 HTML/CSS 中进行制表符停止

    我想用 HTML 呈现一些文本的格式 这是一张图片 请注意带有项目符号点和段落编号的灰线 项目符号应位于页面中央 并且数字应正确对齐 我一直在尝试思考如何在 HTML 中做到这一点 但一无所获 您将如何捕获这种格式 您可以使用 before
  • 如何在 Visual Studio 中自动格式化 XAML 代码?

    Here https social msdn microsoft com Forums de DE b77c7529 298f 4b9a 874a f94f699986ac automatically formatting xaml cod
  • 在 JasperReports 中打印何时(到达最后一个元素)表达式

    是否可以生成一个 Print When Expression 来检测 XML 数据源文件中的最后一个元素 基本上 我有一个报告 在详细信息区域的子报告之后插入了分栏符 这样我就可以清楚地定义新记录的开头的新页面 但它总是让我最后一页空白 因
  • 什么是 scanf("%*s") 和 scanf("%*d") 格式标识符?

    格式的实际用途是什么 在 scanf 中 如果这种格式存在 那么它背后一定有某种目的 下面的程序给出了奇怪的输出 include
  • R - 绘图标签文本的文本格式 - 删除线

    如何使绘图标签中的标签文本的一部分带有删除线 例如 要使 y 轴标签读取为 标签中的 strikethrough 文本 ggplot mpg aes x displ y hwy geom point ylab strikethrough t
  • Java中如何对整数除法进行四舍五入并得到int结果? [复制]

    这个问题在这里已经有答案了 我刚刚写了一个小方法来计算手机短信的页数 我没有选择使用Math ceil 老实说 它看起来很丑陋 这是我的代码 public class Main param args the command line arg
  • C 编程:正向变量参数列表

    我正在尝试编写一个函数 它接受可变数量的参数 如 printf 执行一些操作 然后将变量列表传递给 printf 我不知道如何做到这一点 因为它似乎必须将它们推入堆栈 大约是这样的 http pastie org 694844 http p
  • 字符串格式化表达式 (Python)

    字符串格式化表达式 This is d s example 1 nice 字符串格式化方法调用 This is 0 1 example format 1 nice 我个人更喜欢方法调用 第二个示例 以提高可读性 但由于它是新的 因此随着时间
  • 如何使 java.text.NumberFormat 将 0.0d 格式设置为“0”而不是“+0”?

    需要带符号的结果 0 0d 除外 IE 123 45d gt 123 45 123 45d gt 123 45 0 0d gt 0 我调用format setPositivePrefix 在 DecimalFormat 的实例上 强制结果中
  • 如何使用 sprintf 函数在字符中添加前导“0”而不是空格?

    我正在尝试使用sprintf函数为字符添加前导 0 并使所有字符长度相同 然而我得到的是领先空间 My code a lt c 12 123 1234 sprintf 04s a 1 12 123 1234 我试图得到什么 1 0012 0
  • R Leaflet Legend:colorBin-删除中断之间的小数

    我正在使用 Leaflet 库在 R 中创建交互式 HTML 地图 传说中采用的是colorBin用于创建将数据分为 6 个类别的方法 使用min values and max values 我已经定义了美国社区调查收入数据的特定范围可能落
  • 需要在python中找到print或printf的源代码[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在做一些我不能完全谈论的事情 我
  • 带有用户信息的 Django Logger

    我只是好奇 是否可以放User内的信息formatters信息输入LOGGING配置在setting py 现在我只是将该信息放入要记录的消息中 但也许有一种方法可以将其设置为formatters争论 这是我的LOGGING现在的配置 LO
  • 如何将嵌套列表切片两次?

    使用嵌套列表 例如 ex list 1 2 3 4 5 6 7 8 9 我需要能够将此列表分割为 1 2 4 5 我一直在尝试 list ex list 2 2 但这不起作用 我显然做了一些非常错误的事情 但一直无法找到解决方案 因为由于某
  • 有没有办法直接在函数参数中格式化字符串而不是使用临时字符串?

    我有一个接受字符串 字符数组 作为参数的函数 void enterString char my string 当使用这个函数时 我经常发现自己想要输入格式化的字符串 我使用 sprintf 来做到这一点 然而 我每次都必须创建一个临时字符串

随机推荐

  • 未根据 OPTIONS 请求发送 Cookie

    对于我正在开发的 Angular 1 应用程序 使用了 cookie 身份验证 问题是 制作时OPTIONS调用 cookie 不会发送 服务器会尝试重定向用户以再次登录 只是想知道 这是谁的 错 服务器 Azure API 应用程序 还是
  • 错误:“_UserObject”对象没有属性“预测”

    我正在构建一个针对数据序列进行机器学习的 ANN 模型 当我调用模型来验证测试数据时 出现错误 model Sequential model add Dense 8 activation tanh input dim 10 model ad
  • PowerShell 脚本问题运算符

    我尝试在部署更新的驱动程序之前使用 PowerShell 检测 Intel NIC 驱动程序 我对脚本进行了一些更改以进行故障排除 以确保捕获正确的驱动程序版本 并最终验证操作符的正确使用 我可能不是 Change DeployVersio
  • 如何迭代天数

    我有一个循环 days this 的代码来制作叶子 我希望列签到和签出出勤将自动填充 从开始日期开始 到结束日期结束 exp I input startdate 2012 11 08 01 30 00 enddate 2012 11 10
  • Javafx字体派生粗体

    我想为我的 javafx 应用程序动态更改 加载的 文本字体 所以我做了以下代码 Font font Font loadFont Fonts class getClassLoader getResource path font woff t
  • 将变量从 Symfony2 传递到 Angular 范围的最佳方法

    作为许多其他开发人员面临的常见场景 我们有一个基于 Symfony2 TWIG 的成熟应用程序 并且一些 html twig 模板因 jQuery 代码过多而难以维护 抛弃 jQuery 并使用 Angular 怎么样 假设我有一些关于 A
  • 如何覆盖 net core web api 中的 OnAuthorization?

    早些时候我在 asp net 中实现了类似的东西 public class Authentication AuthorizationFilterAttribute public override void OnAuthorization H
  • 需要使用 d3 geoPath.projection(null) 缩放已经投影的数据

    基于 d3 1 4 版 文档https github com d3 d3 geo blob master README md geoProjection https github com d3 d3 geo blob master READ
  • 如何在不使用 zip() 的情况下将不同类型的 Future 组合成一个 Future

    我想创造一个类型的未来Future Class1 Class2 Class3 从下面的代码 然而 我发现做到这一点的唯一方法是使用 zip 我发现这个解决方案很丑陋而且不是最佳的 谁能启发我 val v for a lt val f0 Fu
  • 如何把照片贴在墙上?

    有人成功地将图片发布到当前用户的墙上吗 这是行不通的 如果图片参数是现有的图片 url 则不会显示 我正在使用最新的 FB C SDK 5 0 8 Beta var args new Dictionary
  • 如何重新加载 vue 组件?

    我知道解决方案是像这样更新道具数据 this selectedContinent 但我想使用另一种解决方案 在我阅读了一些参考资料后 解决方案是 this forceUpdate 我尝试了一下 但不起作用 演示和完整代码如下 https j
  • 向 Google 仪表添加 % 符号

    我正在使用 Google 仪表 并且想在仪表中的值后面添加一个 符号 我的值显示良好 没有百分比符号 整数 0 100 但是当我开始尝试添加百分比符号时 事情变得不稳定 这是我尝试过的 Format the data to include
  • iPhone CoreText:查找子字符串的像素坐标

    这是 Twitter 应用程序的屏幕截图供参考 http screencast com t YmFmYmI4M http screencast com t YmFmYmI4M 我想要做的是将浮动弹出窗口放置在可以跨越多行的 NSAttrib
  • 如何在 Puppeteer 中选择 iframe 元素内的元素

    由于 ESPN 不提供 API 因此我尝试使用 Puppeteer 来抓取有关我的 Fantasy Football League 的数据 但是 由于登录表单嵌套在 iframe 元素中 我很难尝试使用 puppeteer 登录 我已经去了
  • Next12 中带有 Prisma 适配器的 NextAuth 凭证提供程序不执行任何操作

    我已经设置了我的Nextjs Next12 with NextAuth 凭证提供者并使用棱镜适配器将用户会话保留在数据库中 我跟着这个文档 https next auth js org adapters prisma来自 NextAuth
  • 求解混合互补模型时出错

    直接使用 PATH 求解器 我无法解决下面提出的问题 最初的问题来源于https prod sandia gov techlib noauth access control cgi 2015 155584 pdf https prod sa
  • 以良好的质量和内存效率缩小资源中的位图

    我想缩小 500x500px 资源以始终适合由屏幕宽度确定的特定尺寸 目前我使用 Android 开发者网站 高效加载大位图 http developer android com training displaying bitmaps lo
  • on_message() 和 @bot.command 问题

    当我有on message 在我的代码中 它会停止所有其他的 bot command来自工作的命令 我尝试过await bot process commands message 但这也行不通 这是我的代码 bot event command
  • SQL Server - PIVOT - 两列转换为行

    我在一个专栏中看到了很多关于 PIVOT 的问题 每个问题都比其他问题更复杂 但是 我找不到我需要的任何内容 老实说 我什至不知道pivot在这种情况下是否能帮助我 假设我的源表中有这些数据 SELECT 1 as RowId Random
  • 混淆 .fmt 行为与嵌套列表

    The docs https docs raku org routine fmt比如说fmt 返回一个字符串 其中列表中的每个元素都已根据以下格式进行格式化 format 第一个参数 并且每个元素由 separator 第二个论点 根据该描