나는 ..Array.join (" n") 줄 바꿈과 결합하는 방법이 아닙니까?
[1,2,3,4]
배열을하고 난 줄 바꿈으로 구분 된 모든 요소를 포함하는 문자열을 원하는 ..
1
2
3
4
을하지만 [1,2,3,4].join("\n")
을하려고 할 때
1\n2\n3\n4
를 얻을 수
명백한 대답이있는 것처럼 느껴진다. 그러나 나는 그것을 발견 할 수 없다! 거기에
나는 ..Array.join (" n") 줄 바꿈과 결합하는 방법이 아닙니까?
[1,2,3,4]
배열을하고 난 줄 바꿈으로 구분 된 모든 요소를 포함하는 문자열을 원하는 ..
1
2
3
4
을하지만 [1,2,3,4].join("\n")
을하려고 할 때
1\n2\n3\n4
를 얻을 수
명백한 대답이있는 것처럼 느껴진다. 그러나 나는 그것을 발견 할 수 없다! 거기에
당신이 밖으로 해당 문자열을 인쇄하는 경우 네,하지만 그것을해야합니다 줄 바꿈 :
irb(main):001:0> a = (1..4).to_a
=> [1, 2, 3, 4]
irb(main):002:0> a.join("\n")
=> "1\n2\n3\n4"
irb(main):003:0> puts a.join("\n")
1
2
3
4
은 그래서 당신이 원하는 것을 달성하기 위해 나타나지 않습니다
이 또한 시도 (?) :
을puts (1..4).to_a * "\n"
여기서 발생할 수있는 미묘한 오류는 double 대신 작은 따옴표를 사용하는 것입니다. 또한 개행 문자를 \ n으로 렌더링하는 효과가 있습니다. 그래서
puts a.join("\n") # correct
는이 경우 here 이유에 우수한 쓰기 업이
puts a.join('\n') # incorrect
와 동일하지 않습니다.
그냥 경우 ERB 템플릿에서이 기능에 대한 검색 사람이 다음이 시도 :
(1..5).to_a.join("<br>").html_safe
나는'(1..5) .to_a.join ("\ n")'을 선호하고, erb에서는'white-space : pre-wrap' 스타일을 추가해야합니다. – fangxing
이 방법에 대해 당신이 새로운 라인의 각 요소를 인쇄하고 싶다면 ..
> a = [1, 2, 3, 4]
> a.each{|e| puts e}
1
2
3
4
=> [1, 2, 3, 4]
당신은 할 수있다 컨텍스트에 따라 ajay가 말한 것처럼 html_safe를 사용하고 싶지 않습니다. HTML 안전은 보안 문제 일 수 있습니다. 이는 원래 입력이 인 경우 실제로 html로 안전한지 여부에 달려 있습니다. HTML 안전은 사용자가 직접 입력 할 때 호출되어서는 안되며 일반적으로보기 전에 호출되어야합니다.
https://bibwild.wordpress.com/2013/12/19/you-never-want-to-call-html_safe-in-a-rails-template/
가 작동,반드시 그렇지는 않습니다. 블로그 게시물의 마지막 줄에 ** 코드가 html_safe를 호출해서는 안됩니다. 코드가 문자열을 구성하고 실제로 html-safety! **를 보장하지 않는 한! 'html_safe' *를 사용하는 것은 그것이 무엇을하는지 이해하고 보안 함의가 있음을 이해하는 한 괜찮을 수 있습니다. 이런 대답은 도움이되지 않습니다. – zelanix
지금 우연의 일치로, 당신이 대답을 편집했음을 알았습니다. 그것은 훌륭합니다. 그리고 나는 당신의 새로운 일에 동의합니다. 그냥 메모, 만약 당신이 의견에 회신, 내 투표를 변경할 수 있습니다. – zelanix
그러나 50 명의 담당자가 있으니 미래에는 답변이 아니라 의견으로 더 적절할 것입니다. – zelanix
감사합니다 [아래에 의견을 응답으로 편집,하지만 난 이유를 이해할 수 없다. – fangxing
나는 그 이유에 대한 설명에 대한 링크를 포함하도록 답변을 편집했습니다. – Screamer