CODESCRIPT

Eşlemeler

11 işlev. Her kaydın ne aldığı, ne verdiği ve çalışan örneği.

mapClear(map)

Tüm anahtarları siler.

Değer döndürmez; haritadaki tüm çiftleri siler (harita yerinde boşalır).

map
map
Boşaltılacak harita.

Not

Aynı harita nesnesi korunur, yalnız içi boşaltılır; ona tutan başka değişkenler de boş görür.

CODESCRIPT
m = mapNew()
mapPut(m, "a", 1)
mapClear(m)
plot(mapSize(m))

Bir çift yazılıp harita boşaltılır; boyut 0 çizilir.

mapContains(map, key)

Anahtar var mı (true/false).

Anahtar haritada varsa true, yoksa false.

map
map
Denetlenecek harita.
key
any
Varlığı sorgulanan anahtar.

Not

Değerin na olması ile anahtarın hiç olmaması farklıdır; bu fonksiyon yalnız anahtarın varlığına bakar.

CODESCRIPT
m = mapNew()
mapPut(m, "a", 1)
plot(iff(mapContains(m, "a"), 1, 0))

"a" anahtarı yazıldığı için 1 çizilir.

mapCopy(map)

Haritanın sığ kopyası.

Aynı çiftleri taşıyan yeni ve bağımsız bir harita.

map
map
Kopyalanacak harita.

Not

Kopya bağımsızdır — kopyaya yazmak aslını etkilemez. Yeni bir durum dalı denemek için kullanışlıdır.

CODESCRIPT
a = mapNew()
mapPut(a, "x", 1)
b = mapCopy(a)
mapPut(b, "y", 2)
plot(mapSize(a))

Kopyaya yeni çift eklenir ama asıl harita bir çift tuttuğundan boyut 1 çizilir.

mapGet(map, key)

Anahtarın değeri (yoksa boş).

Anahtardaki değer; anahtar yoksa (ya da girdi harita değilse) na.

map
map
Okunacak harita.
key
any
Değeri istenen anahtar.

Not

Var olmayan anahtar hata vermez, na döner — koşullar güvenle na üzerinde çalışır.

CODESCRIPT
m = mapNew()
mapPut(m, "tepe", highest(high, 20))
plot(mapGet(m, "tepe"))

20 barlık en yüksek seviyeyi "tepe" anahtarında saklar ve geri okuyup çizer.

mapKeys(map)

Anahtarları dizi olarak döner. Sonuc: Arr(len=0, [])

Haritadaki anahtarları yazım sırasıyla taşıyan bir dizi.

map
map
Anahtarları istenen harita.

Not

Dizi eleman sayısını arraySize ile, elemanları dizi fonksiyonlarıyla dolaşabilirsiniz.

CODESCRIPT
m = mapNew()
mapPut(m, "a", 1)
mapPut(m, "b", 2)
plot(arraySize(mapKeys(m)))

İki anahtar yazılır; anahtar dizisinin uzunluğu 2 çizilir.

mapNew()

Anahtar ile değeri eşleyen boş bir tablo kurar. Sırayla değil ADIYLA erişmek istediğinde diziden daha uygundur: sembol adına göre bir sayı tutmak gibi.

Boş bir harita (anahtar→değer). Anahtar metin, sayı ya da mantıksal olabilir.

Not

Harita anahtar→değer eşlemesi tutar; aynı anahtar tekrar yazıldığında eski değer ezilir. Değer olarak sayı, metin, mantıksal ya da seri saklanabilir.

Ne zaman kullanılır

Bir etikete (sembol, seviye adı, durum) karşılık gelen değeri saklayıp sonradan ada göre okumak istediğinde; sıralı indeks yerine anlamlı anahtarla erişim gerektiğinde.

CODESCRIPT
m = mapNew()
mapPut(m, "esik", 42)
plot(iff(mapContains(m, "esik"), close, open))

Boş harita kurar, "esik" anahtarına 42 yazar; anahtar var olduğu için close çizilir.

mapPut(map, key, value)

Haritada bir anahtara değer yazar; anahtar zaten varsa eski değerin üstüne yazar ve eskisini verir. Yoksa yeni bir kayıt açar.

Anahtarda önceden duran değer; anahtar yoksa na. Harita yerinde değişir.

map
map
İçine yazılacak harita.
key
any
Değerin saklanacağı anahtar (metin/sayı/mantıksal).
value
any
Saklanacak değer.

Not

Anahtar zaten varsa değeri güncellenir ve eski değer döndürülür; yoksa yeni çift eklenir ve na döner.

CODESCRIPT
m = mapNew()
onceki = mapPut(m, "k", 10)
mapPut(m, "k", 20)
plot(mapGet(m, "k"))

"k" anahtarına önce 10, sonra 20 yazar; ilk yazımda önceki değer na'dır. Son değer 20 çizilir.

mapPutAll(map1, map2)

harita2'yi harita1'e kopyalar.

Değer döndürmez; harita2'deki tüm çiftleri harita1'e kopyalar (çakışan anahtarlar ezilir).

map1
map
Hedef harita (üzerine yazılır).
map2
map
Kaynak harita (okunur).

Not

Yalnız hedef (harita1) değişir; kaynak (harita2) olduğu gibi kalır.

CODESCRIPT
a = mapNew()
mapPut(a, "x", 1)
b = mapNew()
mapPut(b, "y", 2)
mapPutAll(a, b)
plot(mapSize(a))

b'nin çifti a'ya eklenir; a artık iki çift tuttuğundan boyut 2 çizilir.

mapRemove(map, key)

Anahtarı siler ve değerini döner.

Silinen anahtarın değeri; anahtar yoksa na. Harita yerinde değişir.

map
map
İçinden silinecek harita.
key
any
Silinecek anahtar.

Not

Anahtar yoksa sessizce na döner, hata oluşmaz.

CODESCRIPT
m = mapNew()
mapPut(m, "a", 5)
mapRemove(m, "a")
plot(iff(mapContains(m, "a"), 1, 0))

"a" yazılıp hemen silinir; artık bulunmadığından 0 çizilir.

mapSize(map)

Anahtar sayısı.

Haritadaki anahtar-değer çifti sayısı; girdi harita değilse 0.

map
map
Boyutu istenen harita.

Not

Boş harita için 0 döner. Aynı anahtara tekrar yazmak boyutu artırmaz.

CODESCRIPT
m = mapNew()
mapPut(m, "a", 1)
mapPut(m, "b", 2)
plot(mapSize(m))

İki farklı anahtar yazılır; boyut 2 çizilir.

mapValues(map)

Değerleri dizi olarak döner. Sonuc: Arr(len=0, [])

Haritadaki değerleri anahtar yazım sırasıyla taşıyan bir dizi.

map
map
Değerleri istenen harita.

Not

Sayısal değerler için arraySum / arrayAvg gibi dizi fonksiyonlarıyla toplu işlem yapılabilir.

CODESCRIPT
m = mapNew()
mapPut(m, "a", 10)
mapPut(m, "b", 20)
plot(arraySum(mapValues(m)))

Değerler 10 ve 20; değer dizisinin toplamı 30 çizilir.