Program Club

배열의 Ruby 출력 내용을 쉼표로 구분 된 문자열 Ruby

proclub 2020. 10. 20. 18:47
반응형

배열의 Ruby 출력 내용을 쉼표로 구분 된 문자열 Ruby


배열의 내용을 쉼표로 구분 된 문자열로 출력하는 더 정확한 방법이 있습니까?

@emails = ["joe@example.com", "Peter@example.com", "alice@example.com"]

@emails * ","

=> "joe@example.com", "Peter@example.com", "alice@example.com"

이것은 효과가 있지만 더 우아한 솔루션이 있어야한다고 확신합니다.


이것을 시도해 보셨습니까?

@emails.join(",")

OP와 많은 답변은 배열에 항상 내용이 있음을 암시하지만 때때로 "빈"요소 (일반적으로 UI에 대한 데이터 연결)를 포함 할 수있는 목록에 가입해야하는 경우가 있습니다.

다음은 이러한 "불완전한"문자열 배열을 처리하는 방법에 대한 약간의 "진행"입니다.

['a','b','',nil].join(',') # => "a,b,," 
['a','b','',nil].compact.join(',') # => "a,b,"
['a','b','',nil].compact.reject(&:empty?).join(',') # => "a,b"
['a','b','',nil].reject(&:blank?).join(',') # Rails only

마지막은 내가 가장 좋아하는 (Rails) 접근 방식입니다.


를 사용하여 ERB 템플릿에서 비슷한 작업을 수행해야했습니다 AllowedUsers <%= _allowed_users.join(" ") %>. 찾고 있던 것만 큼 우아하지 않을 수도 있지만 여러 언어에서 본 것과 동일한 구현이므로 가독성 측면에서 승리 할 수 ​​있습니다.

참고 URL : https://stackoverflow.com/questions/7146353/ruby-output-contents-of-an-array-as-a-comma-separated-string-ruby

반응형