>16)&0xf-6ren">
gpt4 book ai didi

scala - 更优雅的Scala代码

转载 作者:行者123 更新时间:2023-12-01 07:20:05 25 4
gpt4 key购买 nike

我开始学习scala。想知道是否有人有更好的方法以更实用的方式重写下面的代码。我知道一定有一个。

val buf = ((addr>>24)&0xff) + "." + ((addr>>16)&0xff) + "." + ((addr>>8)&0xff) + "." + ((addr)&0xff)

最佳答案

这会生成 Range(24, 16, 8, 0)(24 to 0 by -8)然后应用函数 addr >> _ & 0xff使用 map 到每个号码.最后,映射 Range数字与 .“连接”创建一个字符串。

该 map 比使用 + 更实用运算符,但其余的只是语法糖和对 mkString 的库调用.

val addr = 1024

val buf = (24 to 0 by -8).map(addr >> _ & 0xff).mkString(".")

buf: java.lang.String = 0.0.4.0

关于scala - 更优雅的Scala代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14133365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com