Metode Rentang
Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 7 dari 56.
Range memiliki method praktis yang membuatmu tidak perlu menulis perulangan secara manual.
include? memeriksa apakah suatu nilai berada dalam range:
range = 1..10
puts range.include?(5) # true
puts range.include?(11) # falsemin, max, dan size bekerja langsung pada rentang:
puts (1..10).min # 1
puts (1..10).max # 10
puts (1..10).size # 10step melakukan iterasi pada rentang dengan loncatan dalam jumlah tetap, berguna saat kamu tidak ingin menggunakan setiap nilai:
(0..10).step(2) do |n|
puts n
end
# 0, 2, 4, 6, 8, 10Dan each bekerja sama seperti pada array:
(1..3).each { |n| puts n * n }
# 1
# 4
# 9Tantangan
MudahKamu diberi rentang inklusif dan daftar tebakan. Beri skor pada tebakan dan rangkum rentangnya.
Baca dua baris:
- Dua bilangan bulat yang dipisahkan spasi:
startdanend_value - Daftar tebakan bilangan bulat yang dipisahkan koma
Menggunakan rentang start..end_value, cetak:
Hit: <n>, dengannadalah jumlah tebakan yang berada di dalam rentang (gunakaninclude?)Span: <n>, dengannadalahsizerentang tersebutMultiples of 3 sum: <n>, dengannadalah jumlah semua kelipatan 3 dalam rentang (gunakanstep, mulai dari kelipatan 3 pertama pada atau setelahstart)
Untuk input 1 10 pada baris pertama dan 3,5,11,7,-2 pada baris kedua, outputnya adalah:
Hit: 3
Span: 10
Multiples of 3 sum: 18(Tebakan yang masuk: 3, 5, 7. Kelipatan 3 dalam 1..10: 3+6+9 = 18.)
Coba sendiri
start, end_value = gets.chomp.split.map(&:to_i)
guesses = gets.chomp.split(",").map(&:to_i)
# TODO: Hitung jumlah kecocokan dengan include?, rentang dengan size, dan jumlah kelipatan 3 dengan step
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami String
Ringkasan Method StringInterpolasi StringMenelusuri StringMemisahkan dan MenggabungkanRekap: Perangkai String4Block, Proc, dan Lambda
Apa Itu Block?do..end vs Kurung KurawalKata Kunci yieldParameter BlockProc dan LambdaRangkuman, Iterator Kustom5Andalan Enumerable
Select dan RejectMerangkai MapReduce / Injectcount, all?, any?, none?group_by dan partitionsort_by, min_by, max_byRekap: Alur Data8Pengambilan Keputusan Lanjutan
Case dengan class & regexwhen dengan Banyak NilaiOperator Ternaryif / unless SebarisUlasan, Pengklasifikasi NilaiLatihan sendiri: Compiler Ruby online