The problem is that is anot Tuple. If you annotate the function you pass to foldLeft, you should see the problem:
val s1 = "1c0111001f010100061a024b53535009181c";
val s2 = "686974207468652062756c6c277320657965";
val zs : IndexedSeq[(Char, Char)] = s1.zip(s2);
val sum = zs.foldLeft(0)((a: Int , b: (Char, Char)) => a + (b._1 ^ b._2))
Remember that ais the battery, and bis the current value. You want to copy Int, so it amust be of the same type as the specified seed ( 0).
Of course, you could write above without explicit annotations:
zs.foldLeft(0)((a, b) => a + (b._1 ^ b._2))
Int , sum:
val sum = s1.zip(s2)
.map(cs => cs._1 ^ cs._2)
.sum