CoffeeScript - Aralıklar
Önceki bölümde, CoffeeScript'te Dizileri görmüştük, programlama sırasında aşağıda gösterildiği gibi bir dizide bir dizi sayısal değeri saklamamız gereken bazı senaryolarla karşılaşacağız.
numbers =[1,2,3,4,5,6,7,8,9,10]
CoffeeScript, sayısal değerler dizisi içeren dizileri ifade etmenin daha kısa bir yolunu sağlar. ranges. CoffeeScript'in bu özelliği Ruby'den esinlenmiştir.
Sözdizimi
Aralıklar iki sayısal değerle oluşturulur, aralıktaki ilk ve son konumlar .. veya ... ile ayrılır. İki nokta (1..4) ile aralık kapsayıcıdır (1, 2, 3, 4); üç noktalı (1 ... 4), aralık sonu (1, 2, 3) hariç tutar.
Aşağıda, CoffeeScript'teki aralıkların sözdizimi verilmiştir. Değerleri köşeli parantezler arasındaki bir aralıkta tanımlayacağız[ ]tıpkı diziler gibi. Aralıklarda, bir dizi sayısal değer depolarken, tüm dizinin değerlerini sağlamak yerine, yalnızca onunbegin ve end iki noktayla ayrılmış değerler (..) Aşağıda gösterildiği gibi.
range =[Begin..End]
Misal
CoffeeScript'teki aralıkların bir örneğini burada bulabilirsiniz. Bunu adıyla bir dosyaya kaydedinranges_example.coffee.
numbers =[0..9]
console.log "The contents of the range are: "+ numbers
Aç command prompt ve .coffee dosyasını aşağıda gösterildiği gibi derleyin.
c:\> coffee -c ranges_example.coffee
Derlemede size aşağıdaki JavaScript'i verir. Burada, aralığın eksiksiz CoffeeScript dizisine dönüştürüldüğünü gözlemleyebilirsiniz.
// Generated by CoffeeScript 1.10.0
(function() {
var numbers;
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log("The contents of the range are:: " + numbers);
}).call(this);
Şimdi açın command prompt tekrar ve CoffeeScript dosyasını aşağıda gösterildiği gibi çalıştırın.
c:\> coffee ranges_example.coffee
CoffeeScript dosyası yürütülürken aşağıdaki çıktıyı üretir.
The contents of the range are:: 0,1,2,3,4,5,6,7,8,9
Son Değeri Hariç Tutmak
Aralıklar, tüm sayıları içeren tam diziler halinde derlenir. Dışlamak istersekend değer, o zaman ayırmalıyız start ve end üç nokta kullanan aralığın elemanları (...) Aşağıda gösterildiği gibi.
range =[Begin...End]
Misal
Yukarıdaki örneği hariç tutarak yeniden yazabiliriz endaşağıda gösterildiği gibi değer. Aşağıdaki içeriği adıyla bir dosyaya kaydedinrange_excluding_end.coffee
numbers =[0...9]
console.log "The contents of the range are:: "+ numbers
Aç command prompt ve .coffee dosyasını aşağıda gösterildiği gibi derleyin.
c:\> coffee -c ranges_example.coffee
Derlemede size aşağıdaki JavaScript'i verir.
// Generated by CoffeeScript 1.10.0
(function() {
var numbers;
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8];
console.log("The contents of the range are:: " + numbers);
}).call(this);
Şimdi açın command prompt tekrar ve CoffeeScript dosyasını aşağıda gösterildiği gibi çalıştırın.
c:\> coffee ranges_example.coffee
CoffeeScript dosyası yürütülürken aşağıdaki çıktıyı üretir. Burada, son değerin9 Hariç tutulmuştur.
The contents of the range are:: 0,1,2,3,4,5,6,7,8
Aralıkları Değişkenlerle Kullanma
Başlangıç ve bitiş değerlerini değişkenlere atayarak da bir aralık tanımlayabiliriz.
Misal
Aşağıdaki örneği düşünün. Burada değişkenleri kullanarak bir aralık tanımladık. Bu kodu adıyla bir dosyaya kaydedinrange_variables.coffee
start=0
end=9
numbers =[start..end]
console.log "The contents of the range are: "+ numbers
Aç command prompt ve .coffee dosyasını aşağıda gösterildiği gibi derleyin.
c:\> coffee -c range_variables.coffee
Derlemede size aşağıdaki JavaScript'i verir.
// Generated by CoffeeScript 1.10.0
(function() {
var end, i, numbers, results, start;
start = 0;
end = 9;
numbers = (function() {
results = [];
for (var i = start; start <= end ? i <= end : i >= end; start <= end ? i++ : i--) {
results.push(i);
}
return results;
}).apply(this);
console.log("The contents of the range are:: " + numbers);
}).call(this);
Şimdi açın command prompt tekrar ve CoffeeScript dosyasını aşağıda gösterildiği gibi çalıştırın.
c:\> coffee range_variables.coffee
CoffeeScript dosyası yürütülürken aşağıdaki çıktıyı üretir. Burada, son değerin9 Hariç tutulmuştur.
The contents of the range are:: 0,1,2,3,4,5,6,7,8,9
Dizili Aralıklar
Dizileri aralıklarla kullanarak dilimleyebiliriz. Dizilerden (değişkenlerden) hemen sonra aralıklar belirttiğimizde, CoffeeScript derleyicisi bunu birslice() JavaScript'in yöntem çağrısı.
0'dan 9'a kadar sayısal değerlere sahip bir dizimiz olduğunu varsayalım, o zaman ilk 4 elemanını aşağıda gösterildiği gibi alabiliriz.
num = [1, 2, 3, 4, 5, 6, 7, 8, 9]
data = num[0..5]
Negatif değerler, sondaki öğeleri temsil eder, örneğin -1, 9'u gösterir. Negatif bir sayı 3 ve ardından iki nokta belirtirsek, dizinin son üç öğesi çıkarılacaktır.
data = num[-3..]
Bir dizi aralığında yalnızca iki nokta belirtirsek, num[..], ardından tüm dizi çıkarılacaktır. Bir dizi segmentini, aşağıda gösterildiği gibi aralıkları kullanarak diğer öğelerle de değiştirebiliriz.
num[2..6] = [13,14,15,16,17]
Misal
Aşağıdaki örnek, dizilerle aralıkların kullanımını gösterir. Bu kodu adıyla bir dosyaya kaydedinrange_arrays.coffee
#slicing an array using ranges
num = [1, 2, 3, 4, 5, 6, 7, 8, 9]
data = num[0..5]
console.log "The first four elements of the array : "+data
#Using negative values
data = num[-3..]
console.log "The last 3 elements of the array : "+data
#Extracting the whole array
console.log "Total elements of the array : "+num[..]
#Replacing the elements of an array
num[2..6] = [13,14,15,16,17]
console.log "New array : "+num
Aç command prompt ve .coffee dosyasını aşağıda gösterildiği gibi derleyin.
c:\> coffee -c range_arrays.coffee
Derlemede size aşağıdaki JavaScript'i verir. Burada, tüm aralıkların JavaScript'in slice () yöntemi çağrılarına dönüştürüldüğünü gözlemleyebilirsiniz.
// Generated by CoffeeScript 1.10.0
(function() {
var data, num, ref;
num = [1, 2, 3, 4, 5, 6, 7, 8, 9];
data = num.slice(0, 6);
console.log("The first four elements of the array : " + data);
data = num.slice(-3);
console.log("The last 3 elements of the array : " + data);
console.log("Total elements of the array : " + num.slice(0));
[].splice.apply(num, [2, 5].concat(ref = [13, 14, 15, 16, 17])), ref;
console.log("New array : " + num);
}).call(this);
Şimdi açın command prompt tekrar ve CoffeeScript dosyasını aşağıda gösterildiği gibi çalıştırın.
c:\> coffee range_arrays.coffee
CoffeeScript dosyası yürütülürken aşağıdaki çıktıyı üretir. Burada, son değerin9 Hariç tutulmuştur.
The first four elements of the array : 1,2,3,4,5,6
The last 3 elements of the array : 7,8,9
Total elements of the array : 1,2,3,4,5,6,7,8,9
New array : 1,2,13,14,15,16,17,8,9
Dizelerle Aralıklar
Dizeler ile aralıkları da kullanabiliriz. Dizelerden sonra aralıklar belirtirsek, CoffeeScript bunları dilimler ve yeni bir karakter alt kümesi döndürür.
Misal
Aşağıdaki örnek, Dizeler ile aralıkların kullanımını gösterir. Burada bir dizge oluşturduk ve aralıkları kullanarak ondan bir alt dizeyi çıkardık. Bu kodu adıyla bir dosyaya kaydedinranges_with_strings.coffee
my_string = "Welcome to tutorialspoint"
new_string = my_string[0..10]
console.log new_string
Aç command prompt ve .coffee dosyasını aşağıda gösterildiği gibi derleyin.
c:\> coffee -c ranges_with_strings.coffee
Derlemede size aşağıdaki JavaScript'i verir.
// Generated by CoffeeScript 1.10.0
(function() {
var my_string, new_string;
my_string = "Welcome to tutorialspoint";
new_string = my_string.slice(0, 6);
console.log(new_string);
}).call(this);
Şimdi açın command prompt tekrar ve CoffeeScript dosyasını aşağıda gösterildiği gibi çalıştırın.
c:\> coffee ranges_with_strings.coffee
CoffeeScript dosyası yürütülürken aşağıdaki çıktıyı üretir. Burada, son değerin9 Hariç tutulmuştur.
Welcome to
Aralıklar Üzerindeki Kavramlar
Nesneler ve diziler olarak, anlamaları kullanarak bir aralığın öğelerini de yineleyebiliriz.
Misal
Aşağıda, aralıklar üzerinde anlamaların kullanımına bir örnek verilmiştir. Burada bir aralık oluşturduk ve kavramaları kullanarak içindeki öğeleri aldık. Bu kodu adıyla bir dosyaya kaydedincomprehensions_over_ranges.coffee
numbers =[0..9]
console.log "The elements of the range are: "
console.log num for num in numbers
Aç command prompt ve .coffee dosyasını aşağıda gösterildiği gibi derleyin.
c:\> coffee -c comprehensions_over_ranges.coffee
Derlemede size aşağıdaki JavaScript'i verir.
// Generated by CoffeeScript 1.10.0
(function() {
var i, len, num, numbers;
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log("The elements of the range are: ");
for (i = 0, len = numbers.length; i < len; i++) {
num = numbers[i];
console.log(num);
}
}).call(this);
Şimdi açın command prompt tekrar ve CoffeeScript dosyasını aşağıda gösterildiği gibi çalıştırın.
c:\> coffee comprehensions_over_ranges.coffee
CoffeeScript dosyası yürütülürken aşağıdaki çıktıyı üretir. Burada, son değerin9 Hariç tutulmuştur.
The elements of the range are:
0
1
2
3
4
5
6
7
8
Aynı şekilde, bu artımı by anahtar sözcük anlama özelliğini kullanarak da değiştirebiliriz.
array = (num for num in [1..10] by 2)
console.log array