Avatar
Avatar
omochimetaru
@かっくん Skipのトランスパイルモードってこういうのどうなるんですか? var a = [1, 2, 3] var b = a b[0] = 99 print(a) // Swiftではaとbは別なので [1, 2, 3] // Kotlinではaとbは共有されて [99, 2, 3] だったりする?
Swift var a = [1, 2, 3] var b = a b[0] = 99 logger.info("a \(a) b \(b)")
a [1, 2, 3] b [99, 2, 3]
Kotlin var a = arrayOf(1, 2, 3) var b = a.sref() b[0] = 99 logger.info("a ${a} b ${b}")
a 1, 2, 3 b 99, 2, 3
という感じで srefというのが生えていて同じ挙動をするようになってるみたいです https://github.com/skiptools/skip-lib/blob/0c37176484511bb3373cac016609806c2b4b4d00/Sources/SkipLib/Skip/Struct.kt#L30-L47
Standard Library for Skip apps. Contribute to skiptools/skip-lib development by creating an account on GitHub.