M8Test Help

sortWith

val names = arrayOf("Alice", "Bob", "Charlie") // 按名字长度对数组进行排序 names.sortWith { n1, n2 -> n1.count() - n2.count() } // 按名字长度对数组进行排序: [Bob, Alice, Charlie] names.forEach { _console.log(it) }
def names = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.String"), "Alice", "Bob", "Charlie")) // 按名字长度对数组进行排序 names.sortWith { n1, n2 -> $objectWrappers.wrap(n1).count() - $objectWrappers.wrap(n2).count() } // 按名字长度对数组进行排序: [Bob, Alice, Charlie] names.forEach { $console.log(it) }
let names = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.String"), "Alice", "Bob", "Charlie")) // 按名字长度对数组进行排序 names.sortWith((n1, n2) => $objectWrappers.wrap(n1).count() - $objectWrappers.wrap(n2).count()) // 按名字长度对数组进行排序: [Bob, Alice, Charlie] names.forEach((it) => { $console.log(it) })
local names = _objectWrappers:wrap(_arrays:arrayOf(_plugins:loadClass("java.lang.String"), "Alice", "Bob", "Charlie")) -- 按名字长度对数组进行排序 names:sortWith({ compare = function(n1, n2) return _objectWrappers:wrap(n1):count() - _objectWrappers:wrap(n2):count() end }) -- 按名字长度对数组进行排序: [Bob, Alice, Charlie] names:forEach(function(it) _console:log(it) end)
<?php $names = $objectWrappers->wrap($arrays->arrayOf($plugins->loadClass("java.lang.String"), "Alice", "Bob", "Charlie")); class C { var $objectWrappers; function __construct($p) { $this->objectWrappers = $p; } function compare($n1, $n2) { return $this->objectWrappers->wrap($n1)->count() - $this->objectWrappers->wrap($n2)->count(); } } // 按名字长度对数组进行排序 $names->sortWith(new C($objectWrappers)); // 按名字长度对数组进行排序: [Bob, Alice, Charlie] $names->forEach(function ($it) use ($console) { $console->log($it); });
class Comparator(): def compare(self, n1, n2): return _objectWrappers.wrap(n1).count() - _objectWrappers.wrap(n2).count() names = _objectWrappers.wrap(_arrays.arrayOf(_plugins.loadClass("java.lang.String"), "Alice", "Bob", "Charlie")) # 按名字长度对数组进行排序 names.sortWith(_java.proxy(Comparator(), ["java.util.Comparator"])) # 按名字长度对数组进行排序: [Bob, Alice, Charlie] names.forEach(lambda it: _console.log(it))
# encoding: utf-8 names = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.String"), "Alice", "Bob", "Charlie")) # 按名字长度对数组进行排序 names.sortWith { |n1, n2| $objectWrappers.wrap(n1).count() - $objectWrappers.wrap(n2).count() } # 按名字长度对数组进行排序: [Bob, Alice, Charlie] names.forEach { |it| $console.log(it) }
Last modified: 29 April 2025