pharo 中的流分配

Man*_*iel 2 smalltalk pharo

我这里有问题。

我有一个data类型的变量an OrderedCollection

当我执行 DoIt: 时,此变量向我显示了这一点an OrderedCollection ('3c7lwmdva2b8jbt39ls4pz3sl' '3c7lwmbf36tamw1m45riirdze' 8 February 1994)

现在我想要这样:

object:=String streamContents:
    [:stream|
    stream
    nextPutAll: 'data:= ';cr;
    print:data asArray.]
Run Code Online (Sandbox Code Playgroud)

但当我跑步时,它向我展示了这一点:

data := an Array End of statement list encounteencountered -> ('3c7lwmdva2b8jbt39ls4pz3sl' '3c7lwmbf36tamw1m45riirdze' 8 February 1994).
Run Code Online (Sandbox Code Playgroud)

所以这个月我想得到这个:

data := #('3c7lwmdva2b8jbt39ls4pz3sl' '3c7lwmbf36tamw1m45riirdze' 8 February 1994).
Run Code Online (Sandbox Code Playgroud)

请问怎么办?

Lea*_*lia 5

result := String streamContents: [:stream |
  stream nextPutAll: 'data := #('.
  data
    do: [:string | stream nextPut: $'; nextPutAll: string asString; nextPut: $']
    separatedBy: [stream space].
  stream nextPut: $)]
Run Code Online (Sandbox Code Playgroud)

由于我的答案被否决,我将解释解决方案。

  1. 里面有什么data问题说data打印为(原始格式,对此感到抱歉)
an OrderedCollection ('3c7lwmdva2b8jbt39ls4pz3sl' '3c7lwmbf36tamw1m45riirdze' 8 February 1994).
Run Code Online (Sandbox Code Playgroud)

这表明这data是一个OrderedCollection带有两个字符串和 a 的 an Date

  1. OP 试图计算什么?不清楚。使用String streamContents:似乎表明OP正在尝试生成一个String,更准确地说是一个赋值语句,其中dataOrderedCollection转换为一个Array

  2. 2 的解决方案。假设我在 2 中的猜测是正确的,我上面的代码会产生这样的句子。

  3. 对于这个不明确的问题,我们还能给出什么其他解释呢? 好吧,可能OP只是在寻找一种将 转换OrderedCollectionArray. 在这种情况下,答案很简单

object := data asArray.
Run Code Online (Sandbox Code Playgroud)

然而,考虑到之前的一篇文章,同一个OP试图进行一些元编程,实际意图仍不清楚。