Forum: D Programlama Dili RSS
std.algorithm derleme hatası
erdem (Moderatör) #1
Üye Tem 2009 tarihinden beri · 981 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: std.algorithm derleme hatası
Tam Andrei Alexandrescu'nun std.algorithm yazısını çevirmeye başlıyordum ki dakika bir gol 1 hata aldım :)

import std.cstream;
import std.stdio;
import std.algorithm;
import std.range;
 
 
void main ()
{
    int[] dizi1 = [ 1, 2, 3, 4 ];
    int[] dizi2 = [ 5, 6 ];
    auto kareler = map! ("a * a") (chain (dizi1, dizi2));
    assert(equal(kareler, [ 1, 4, 9, 16, 25, 36 ])); // <= bu kısımda derleyici hata veriyor
}

Tam map işlevi işini yapıp assert'le yeni oluşturulan dizinin içine elemanları gerçekten istediğimiz gibi yerleştirip yerleştirmediğini kıyaslayacağı sırada hata veriyor. Aldığım hata mesajı şu şekilde:

merhaba.d(14): Error: template std.algorithm.equal(alias pred = "a == b",Range1,Range2) if (isInputRange!(Range1) && isInputRange!(Range2) && is(typeof(binaryFun!(pred)(Range1.init.front,Range2.init.front)))) does not match any function template declaration
merhaba.d(14): Error: template std.algorithm.equal(alias pred = "a == b",Range1,Range2) if (isInputRange!(Range1) && isInputRange!(Range2) && is(typeof(binaryFun!(pred)(Range1.init.front,Range2.init.front)))) cannot deduce template function from argument types !()(Map!(result,ChainImpl!(int[],int[])),int[6u])
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
dmd2 ile gelen algorithm.d'yi açtım ve olayı equal'un unittest bölümünden öğrendim:

[ 1, 4, 9, 16, 25, 36 ][]

Herhalde sonundaki [], bütün aralık anlamına geliyor.

Ali
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-21, 13:19:02 (UTC -08:00)