arrays - Smalltalk 数组操作

标签 arrays class oop object smalltalk

我是使用 smalltalk 的新手,我正在尝试在数组中迭代一个数组,并评估每个数组成员是否可被 4 整除,如果为真,它将使用 select 方法返回包含该元素的字节数组 这是我的代码:

| anArray result |
anArray := #(#(1 2 3 3 4 6 7) #(6 7 6 9 9 4 7 6) #(11 12 13 14 15 14)).
anArray select: [ :each | 
     each do: [ :ea | 
         ea \\ 4 == 0 ifTrue: [ Transcript show: each printString ]
     ]
]

问题在于它在 select 方法中需要一个 bool 条件。您知道使用 select 方法返回上述输出的其他方法吗?

谢谢!

最佳答案

欢迎来到 Smalltalk!你的问题有点模棱两可。你想选择每个元素可以被 4 整除的内部数组吗?如果是这样,请尝试以下操作:

| anArray result |
anArray := #(#(1 2 3 3 4 6 7) #(6 7 6 9 9 4 7 6) #(11 12 13 14 15 14)).
anArray select: [ :eachArray | 
    eachArray anySatisfy: [ :eachElement | 
        eachElement \\ 4 == 0.
    ].
].

或者您想打印内部数组中可被 4 整除的每个元素?如果是这样,请尝试以下操作:

| anArray result |
anArray := #(#(1 2 3 3 4 6 7) #(6 7 6 9 9 4 7 6) #(11 12 13 14 15 14)).
anArray do: [ :eachArray | 
    eachArray do: [ :eachElement |
        eachElement \\ 4 == 0 ifTrue: [
            Transcript cr; show: eachElement.
        ].
    ].
].

关于arrays - Smalltalk 数组操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57764550/

相关文章:

c++ - 在 cpp 中使用带有 std::vector 的字符串长度对字符串数组进行排序

python - 查找二维数组中最高元素的列表 : Python 3

c++ - 如何在 C++ 中克隆未知动态类型的对象?

c++ - 这些c++语法等同于什么?

java - PHP 对 Java 风格的类泛型有答案吗?

c++ - 在 C++ 中检测意外省略的维度

arrays - 计算 Matlab 中向量中包含少于 3 个连续零的元素

php - 从其他文件调用 php 类

c++ - 不能实例化抽象类c++

javascript - 使用另一个对象的属性值作为属性名称将属性分配给 JS 对象