Sta*_*cca 4 ruby arrays sorting alphabetical-sort
我的语法有问题尝试了一些事情,但仍然没有做到正确.我不明白的是什么?谢谢
change = ['cents', 'pennies', 'coins', 'dimes', 'pence', 'quarters']
change.sort {|anythinghere| a <=> b puts "Ascending #{anythinghere}" }
Run Code Online (Sandbox Code Playgroud)
jay*_*elm 13
为什么不change.sort呢?
Array#sort没有块默认为升序排序,即块{ |a, b| a <=> b }:
sorted = change.sort # Ascending sort
sorted = change.sort { |a, b| a <=> b } # Same thing!
sorted
# => ["cents", "coins", "dimes", "pence", "pennies", "quarters"]
Run Code Online (Sandbox Code Playgroud)
请注意,与您在问题中编写的块不同,此块需要考虑您要比较的两个变量.只有在希望修改元素排序方式时才需要包含自定义比较器,例如,如果要按降序排序:{ |a, b| b <=> a }
如果要打印数组的文本表示,请使用
puts sorted
Run Code Online (Sandbox Code Playgroud)
如果你想在适当的位置排序(而不是创建一个新的arrray)使用 sort!
| 归档时间: |
|
| 查看次数: |
7432 次 |
| 最近记录: |