You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pharo中如何将OrderedCollection输出为数组字面量#(...)格式?

解决方案

直接使用storeOn:方法替代print:,它会生成可被Smalltalk解析的数组字面量格式:

object := String streamContents: [:stream|
    stream
        nextPutAll: 'data := ';
        store: data asArray]

执行这段代码后,你会得到期望的输出:

data := #('3c7lwmdva2b8jbt39ls4pz3sl' '3c7lwmbf36tamw1m45riirdze' 8 February 1994).

原因说明

  • print:方法的作用是生成人类可读的字符串表示,所以会包含an Array这类描述性前缀,不符合需求。
  • storeOn:方法的设计目的是生成可被Smalltalk系统重新读取执行的表达式,它会直接输出数组的字面量形式(带#前缀的格式),完全匹配你想要的结果。

另外,你原代码中的cr会导致换行,若不需要换行可直接移除,上述示例已去掉该换行操作。

内容的提问来源于stack exchange,提问作者Mansour Faouziel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 01:55:19