Vì vậy, tôi đang làm việc thông qua một vài trong số các bài tập trong "Scala cho Nóng lòng chờ đợi" và một trong số họ là:Char hoặc String -> Giá trị Unicode trong Scala?
Viết một vòng lặp for
để tính toán là sản phẩm của các mã Unicode của tất cả các ký tự trong một chuỗi. Ví dụ: sản phẩm của các ký tự trong "Hello" là 9415087488 L.
Vấn đề tiếp theo là làm tương tự, nhưng không có vòng lặp for
- nó gợi ý rằng chúng ta nên kiểm tra StringOps
trong Scaladoc.
Tôi đã kiểm tra phần RichChar
và StringOps
trong Scaladoc và có lẽ tôi đang hiểu sai hoặc tìm kiếm địa điểm sai, nhưng tôi không thể tìm thấy bất kỳ điều gì khiến tôi khớp với kết quả của chúng. Tôi đã cố gắng rất nhiều:
scala> x.foldLeft(1)(_ * _.toInt)
res0: Int = 825152896
scala> x.foldLeft(1)(_ * _.getNumericValue)
res5: Int = 2518992
scala> x.foldLeft(1)(_ * _.intValue())
res6: Int = 825152896
scala> var x = 1
x: Int = 1
scala> for (c <- "Hello") x *= c.toInt
scala> x
res12: Int = 825152896
Không phù hợp với đầu ra của chúng.
Làm cách nào để thực hiện việc này, trong cả hai cách for
và không phải for
?
Cảm ơn!
Có một cách khác, nếu bạn làm điều đó trong hai bước. Gợi ý: cuối cùng của hai phương thức chỉ có một tham số ngầm định. –