Ruby 如何正确地用逗号分隔字符串中的单词?

Ruby 如何正确地用逗号分隔字符串中的单词?,ruby,Ruby,我有一个助手方法: def get_str(exam) @value = "" if exam.is_mc @value << "MC, " end if exam.is_ms @value << "MS, " end if exam.is_ng @value << "NG" end return @value end def get_str(考试) @value=“” 如果考试是什么 @value最简

我有一个助手方法:

def get_str(exam)
  @value = ""
  if exam.is_mc
    @value << "MC, "
  end
  if exam.is_ms
    @value << "MS, "
  end
  if exam.is_ng
    @value << "NG"
  end
  return @value
end
def get_str(考试)
@value=“”
如果考试是什么

@value最简单的方法是将连接任务传递给

def get_str(考试)
@值=[]

@value最简单的方法是将连接任务传递给

def get_str(考试)
@值=[]
@值这也会起作用:

def get_str(exam)
  ['MC', 'MS', 'NG'].select{|i| exam.send("is_#{i.downcase}").join(', ')
end
唯一真正的优点是,添加更多字符串模式会更容易。

这也会起作用:

def get_str(exam)
  ['MC', 'MS', 'NG'].select{|i| exam.send("is_#{i.downcase}").join(', ')
end

唯一真正的好处是添加更多字符串模式更容易。

返回值是正确的,但
@value
与OP的代码不同。@sawa我的答案与此答案没有什么不同,所以我删除了我的答案以防重复返回值是正确的,但是
@value
与OP的代码不同。@sawa我的答案与这个答案并没有什么不同,所以我删除了我的答案以防止重复