当您具有简单的条件和可能复杂的主体时,条件结构很容易编写:
if simple_condition_expressed_in_one_liner complicated_body_that_may_be_long complicated_body_that_may_be_long complicated_body_that_may_be_long end
if condition1 and condition2 and condition3 and some_more_complicated_condition_that_cannot_be_written_on_a_single_line and still_some_more_complicated_condition_that_cannot_be_written_on_a_single_line simple_body end
解决方法
我总是尝试重构为较小的描述性方法.
使用您的示例,而不是:
until (print "Username : "; gets.chomp == "user") and (print "Password : "; gets.chomp == "pa$$word") puts "Error,incorrect details" end
我会用:
def correct_user print "Username : " gets.chomp == "user" end def correct_password print "Password : " gets.chomp == "pa$$word" end until correct_user and correct_password puts "Error,incorrect details" end