鉴于Scala中的以下数据类型gem install bundler
bundle install
cp config/database-gitlab.yml config/database.yml
bundle exec rake db:create db:migrate RAILS_ENV=test
bundle exec rake test
,我将如何使用sortBy函数对第一个字符串然后第二个字符串进行排序?对于对多个值进行排序有一些答案,但是在下面的情况下呢?
node {
try {
stage ('Clone') {
checkout scm
}
stage ('Build') {
sh "echo 'shell scripts to build project...'"
sh "echo 'Running ${env.BRANCH_NAME}'"
}
stage ('Tests') {
}
} catch (err) {
currentBuild.result = 'FAILED'
throw err
}
}
输出应提供以下内容
[((String, String), Double)]
答案 0 :(得分:4)
由于每个元组((s1, s2), d)
中的元素已经按照您想要的排序顺序(从左到右),您可以简单地执行以下操作:
test.sortBy(identity)
// List[((String, String), Double)] = List(((A,c),1.4), ((C,d),80.1), ((D,c),4.3))
或者,只需使用sorted
:
test.sorted
// List[((String, String), Double)] = List(((A,c),1.4), ((C,d),80.1), ((D,c),4.3))
答案 1 :(得分:0)
您可以按元组进行排序,其中从左到右的每个元素都更相关。
var test = List((("D","c"),4.3), (("A","c"),1.4), (("C","d"),80.1))
test.sortBy{ case ((a,b),c) => (a,b,c) }.foreach(println)