- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
CodeAcademy 的错误:糟糕,请重试。看起来您的方法在没有收到第二个参数时不会默认按字母顺序排列数组。
def alphabetize(arr, rev=false)
if rev == true
arr.sort! { |item1, item2| item2 <=> item1 }
else
arr.sort!
end
puts arr
end
alphabetize(["a", "b", "c", "d", "e"])
编辑:以下是本节的目标(很抱歉最初没有包括在内):
1) Add an if/else statement inside your method. If rev is true, it should sort the array reverse-alphabetically; if rev is false (which happens if the user passes false or doesn't pass an argument for rev at all), it should sort the array in alphabetical order.
2) Outside your method, puts the sorted array. (This is so you can see all the fine work your method did.)
3) Call your method on an array of your choice to see it in action!
最佳答案
2) Outside your method, puts the sorted array.
不像你那样在里面。 puts arr
返回 nil,codeacademy 想要数组作为返回值。在外面你应该puts
从这个方法外面返回值:
def alphabetize(arr, rev=false)
if rev == true
arr.sort! { |item1, item2| item2 <=> item1 }
else
arr.sort!
end
arr
end
puts alphabetize(["a", "b", "c", "d", "e"])
附言。正如 Wayne Conrad 在评论中指出的那样,sort!
修改您的数组。
arr1=[2,3,1,5,22]
# => [2, 3, 1, 5, 22]
alphabetize arr1
# => [1, 2, 3, 5, 22]
arr1
# => [1, 2, 3, 5, 22] # you didn't want this array changed, right?
如果您不想改变数组,您应该使用不改变数组的普通排序
。!
也称为 bang 建议危险方法,在本例中它修改数组。
关于ruby - codecademy 在这里错了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21197448/
我无法在附加行中显示“真”、“假”、"is"和“否”按钮。 我在这里有一个应用程序:Application 请按照以下步骤使用应用程序: 1。当你打开应用程序时,你会看到一个绿色的加号按钮,点击 在此
我是一名优秀的程序员,十分优秀!