Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting Smalltalk系列_Sorting_Collections_Smalltalk - Fatal编程技术网

Sorting Smalltalk系列

Sorting Smalltalk系列,sorting,collections,smalltalk,Sorting,Collections,Smalltalk,如果我有一个员工数组,如何根据员工姓氏进行排序?应该是: employees sortBy: [:a :b | a lastName > b lastName] 如果我们做出以下假设: 数组实例保存在名为employees的变量中 数组包含一组实例,所有实例都通过返回字符串实例来响应消息lastName 您希望按升序对集合进行排序 然后,您可以使用以下代码片段完成工作: employees asSortedCollection: [ :a :b | a lastName < b

如果我有一个员工数组,如何根据员工姓氏进行排序?

应该是:

employees sortBy: [:a :b | a lastName > b lastName]

如果我们做出以下假设:

  • 数组实例保存在名为employees的变量中
  • 数组包含一组实例,所有实例都通过返回字符串实例来响应消息lastName
  • 您希望按升序对集合进行排序
  • 然后,您可以使用以下代码片段完成工作:

     employees asSortedCollection: [ :a :b | a lastName < b lastName ]
    
    员工分类集合:[:a:b | a lastName
    这段代码向名为employees的数组实例发送schooldedcollection:keyword消息。它传入由方括号分隔的块实例,作为该关键字消息的参数。传入的块有两个参数,分别命名为a和b,并在|字符之前用前面的冒号字符标记。在|字符之后的块中的代码将用于对employees数组中的所有元素进行排序,并将它们添加到SortedCollection类的新实例中

    但是,请注意,此代码最终返回一个新集合,该集合包含同样由员工持有的项目,但现在按所需顺序排列。事实上,该新集合保留排序条件(用作SordedCollection:message参数的块实例),并且在将来向该集合添加更多实例时,它们将自动以正确的排序顺序插入