Kotlin编译器是否"Hello, $name!"使用类似的东西进行翻译
java.lang.String.format("Hello, %s!", name)
Run Code Online (Sandbox Code Playgroud)
还是有其他机制?
如果我有一个这样的类,例如:
class Client {
val firstName: String
val lastName: String
val fullName: String
get() = "$firstName $lastName"
}
Run Code Online (Sandbox Code Playgroud)
这个getter会返回一个缓存的字符串,还是会尝试构建一个新的字符串?我应该使用lazyOf委托吗?
我知道除非会有数百万次调用fullName,否则不会出现性能问题,但除了如何使用之外,我还没有找到有关此功能的文档.
嗨我一直在互联网上查找在OCaml中实现"字符串是否以某些文本结尾"的好方法,我发现在OCaml中操作字符串并不像我预期的那样与其他编程语言如Java相比. .
这是我的OCaml代码,使用Str.regexp来检查文件名是否以" .ml " 结尾,以查看它是否是OCaml脚本文件.它没有像我预期的那样工作:
let r = Str.regexp "*\\.ml" in
if (Str.string_match r file 0)
then
let _ = print_endline ("Read file: "^full_path) in
readFile full_path
else
print_endline (full_path^" is not an OCaml file")
Run Code Online (Sandbox Code Playgroud)
请注意,readFile是我自己编写的函数,用于从构造的full_path 读取文件.我总是在输出中得到结果,比如
./utilities/dict.ml is not an OCaml file
./utilities/dict.mli is not an OCaml file
./utilities/error.ml is not an OCaml file
./utilities/error.mli is not an OCaml file
Run Code Online (Sandbox Code Playgroud)
我在OCaml中的正则表达式有什么问题,是否有更好/更简单的代码来检查字符串?
这可能是一个有点简单的问题,但我似乎无法让它工作.
我想找到给出两点的x截距.
让我说我有这两点:(5,3)和(3,4)我想找到x截距.目前这就是我所拥有的.哪个正确找到了y截距.在这种情况下5.5.
var A = [5, 3];
var B = [3, 4];
function slope(a, b) {
if (a[0] == b[0]) {
return null;
}
return (b[1] - a[1]) / (b[0] - a[0]);
}
function intercept(point, slope) {
if (slope === null) {
// vertical line
return point[0];
}
return point[1] - slope * point[0];
}
var m = slope(A, B);
console.log(m);
var b = intercept(A, m);
console.log('intercept: ' + b);
Run Code Online (Sandbox Code Playgroud)