2013-09-21 4 views
0

오케이, 저는 루비를 처음 접했고 이에 대한 좋은 조언이 필요합니다. 파이썬 코드 :이 질문은 내 코드의 다른 부분에 I를 관련이 있기 때문에 물건에 작성하지 않는파이썬 코드를 루비로 변환

return [x for x in list if x == something] 

죄송합니다,하지만 난 정말 내가 .MAP이 작업을 수행 할 수 듣지 수 있습니다하지만 난 방법을 잘 모르겠어요 . 누군가가 내게 이것을 설명 할 수 있을까요? 그렇다면 특정 가치를 선택할 수 있습니까?

def test(): 
    lists = ['dave','austin','bob','jimmy','john','jimmy'] 
    return [x for x in lists if x == 'jimmy'] 

그 코드는 내가 빈 내 첫 번째 예제를 왼쪽 이유의

['jimmy','jimmy'] 

부분을 돌려줍니다하지만 Heres는 또 다른 예이지만 간단한 내가이 작업을 수행 할 수 있도록하려면 때문입니다 이해한다 이 예제에 적용 할 미래 코드. 그래서 누군가 내게 그것을 이해하려고하는 자신을 혼란스럽게했기 때문에 위대한 방법이 될 루비 방법을 어떻게하는지 보여줄 수 있다면.

답변

1

아마도 Enumerable#select이 무엇입니까?

lists = ['dave','austin','bob','jimmy','john','jimmy'] 
lists.select{|x| x == 'jimmy'} # => ["jimmy", "jimmy"] 
+0

예, 그건 당신이 정말 잘 그 지워 내가 필요 정확히 감사합니다, 나도 몰라 용어 또는 무엇인가, 다시 한번 감사드립니다. – anakin

+0

문제 없습니다, 나는 일종의 파이썬을 배우고 있습니다. 그래서 공감할 수 있습니다 :-) –

+0

오, 나는 행운을 빈다. – anakin

0

예. 또한 "select"함수와 별도로 "map"도 사용할 수 있습니다. Select는 "if"절과 같고 "map"은 파이썬 목록 이해의 첫 번째 절과 같습니다. 내가 나쁜 검색을 사용하여, 틀림 말했다 인터넷에서 아무것도 찾을 수없는 이유를

a = [1, 3, 4, 5, 6, 7, 8] b = a.select{|i| (i % 2).zero?}.map{|i| (i * 3)} puts b # 12 18 24