小编Tho*_*ois的帖子

字符串插值如何在Kotlin中工作?

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,否则不会出现性能问题,但除了如何使用之外,我还没有找到有关此功能的文档.

string-interpolation kotlin

30
推荐指数
4
解决办法
2万
查看次数

检查字符串是否以OCaml中的某些文本结尾最方便的方法?

嗨我一直在互联网上查找在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中的正则表达式有什么问题,是否有更好/更简单的代码来检查字符串?

regex string ocaml

4
推荐指数
1
解决办法
1165
查看次数

得到两点得到x截距

这可能是一个有点简单的问题,但我似乎无法让它工作.

我想找到给出两点的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)

javascript linear-regression

1
推荐指数
2
解决办法
1503
查看次数