如果我有一个循环,如
users.each do |u|
#some code
end
Run Code Online (Sandbox Code Playgroud)
用户是多个用户的哈希值.什么是最简单的条件逻辑,看你是否在用户哈希中的最后一个用户,并且只想为最后一个用户执行特定的代码,所以像
users.each do |u|
#code for everyone
#conditional code for last user
#code for the last user
end
end
Run Code Online (Sandbox Code Playgroud)
谢谢
我总是使用计数器来检查i==0循环中的第一个项目():
i = 0
my_array.each do |item|
if i==0
# do something with the first item
end
# common stuff
i += 1
end
Run Code Online (Sandbox Code Playgroud)
有没有更优雅的方法来做到这一点(也许是一种方法)?
我想在对象上执行'foreach'时,对最后一个循环迭代做一些不同的事情.我正在使用Ruby,但C#,Java等也是如此.
list = ['A','B','C']
list.each{|i|
puts "Looping: "+i # if not last loop iteration
puts "Last one: "+i # if last loop iteration
}
Run Code Online (Sandbox Code Playgroud)
所需的输出相当于:
Looping: 'A'
Looping: 'B'
Last one: 'C'
Run Code Online (Sandbox Code Playgroud)
显而易见的解决方法是使用代码将代码迁移到for循环'for i in 1..list.length',但for each解决方案感觉更优雅.在循环期间编写特殊情况的最优雅方法是什么?可以用foreach完成吗?
我有这个:
sentence.each_char {|char|
......
......
}
Run Code Online (Sandbox Code Playgroud)
我要这个:
sentence.each_char {|char|
if (char is the last char)
......
end
}
Run Code Online (Sandbox Code Playgroud)
有人知道我怎么做吗?