[루비] 팩스 능력을 강화하는 기본 기교
4056 단어 Ruby
하지만 팩스라는 단어를 이해하면서 몇 가지 기법과 방법을 접하는 과정에서 아름다운 코드가 아름답다고 생각했다

이번에 설정한 입력과 출력
1부터 5까지의 연속 배열의 합계를 출력합니다.(정답은 15)
나는 이것을 어떻게 멋지게 기술하고 도출하는지 도전하고 싶다.
밀치다
p 1 + 2 + 3 + 4 + 5
프로그램입니까, 계산기입니까?등급의 가장 간단한 설명.물론 1∼100을 계산한 숫자의 합계 등에 대응할 수 없기 때문에 주의해야 한다.확장성 있게 하려고요.
둘째, 배열과 each 문장 사용
numbers = [1,2,3,4,5]
sum = 0 #変数sumに0を代入
numbers.each do |n|
sum += n #変数sumにブロック変数nを繰り返し足しこむ
end
p sum
이것은 아마도 each문에서 가장 먼저 배우기 시작한 코드일 것이다.프로그래밍이지만 "배열 요소가 1,2,3으로 쓰여져서... 귀찮다", "each 글 주변에 몇 줄이나 짜임새가 있어야 한다"는 마음이 밀려왔다.셋째, 영역 대상과 {}의 블록 표기 방법으로 간단하게
numbers = (1..5) #範囲オブジェクトの作成。1~5までの値が連続する配列を意味する。
sum = 0
numbers.each {|n| sum += n } #{}のブロック記法で1行に収める。
p sum
(첫 번째 값. 마지막 값)로 값의 범위를 나타낼 수 있습니다.※ 범위 대상은 레인지 클래스입니다.
※ 참고로 (최초 값...마지막 값)라고 적으면 마지막 값이 포함되지 않습니다.둥근 점.수량
또한 each문의 Do·end까지 {}로 대체할 수 있는 기간도 있습니다.
※ 도·end 앞에서는'사각형'으로 불리며 추출요소를 처리하는'작업실'역할을 합니다.
상당히 상쾌해졌다.하지만 숨 좀 더 쉬어!
넷째: each 대신 inject 방법을 사용합니다
numbers = (1..5)
p sum = numbers.inject(0) {|n, s| n + s}
#injectメソッドは下記の流れで動く。
#メソッドの第1引数が、ブロックの第1引数に入る。
#ブロックの第2引数には、配列の各要素が順番に入る。
#ブロックの戻り値が、ブロックの第1引数に引き継がれる。
#繰り返し処理が終わると、ブロックの戻り値がinjectメソッドの戻り値となる。
inject 방법을 사용하면 여러 개의 매개 변수를 처리할 수 있으며, 매개 변수를 두 줄에 저장할 수 있습니다.앞으로는 양작으로 알려진'리더 블러드'를 읽으면서 가슴을 펴는 예쁜 코드를 쓰도록 노력하겠다.
"이렇게 쓰는 것이 더 간결하다."만약 이런 의견이 있다면 꼭 저에게 알려주세요!
Reference
이 문제에 관하여([루비] 팩스 능력을 강화하는 기본 기교), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tkym_2020/items/0dee8be4011cfdce701f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)