小编ts.*_*ts.的帖子

mysql中的float精度问题

在下面的例子中,任何人都可以向我解释FLOAT如何在mySQL中运行吗?我知道漂浮是近似的,但真的,这样的差异?并且只有9位数,所以它不是溢出问题,不是吗?

mysql> create table t(f FLOAT(15,2), db DOUBLE);
mysql> insert into t(f,db) VALUES (512659663, 512659663);
mysql> select * from t;

+--------------+-----------+
| f            | db        |
+--------------+-----------+
| 512659648.00 | 512659663 |
+--------------+-----------+
Run Code Online (Sandbox Code Playgroud)

(mysql Ver 14.14 Distrib 5.1.44,适用于Windows XP上的Win32(ia32))

mysql floating-point double types

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

参数值(不是类型)的多态性?

是否存在编程语言(可能是概念或研究论文),它允许对函数/方法参数值进行多态化?的种类:

function factorial(int value > 0){ /* code here */}
function factorial(int value == 0){ /* code here */}
function factorial(int value < 0){ /* code here */}
Run Code Online (Sandbox Code Playgroud)

而且,这种多态性的官方名称(如果有的话)是什么?

language-agnostic polymorphism programming-languages language-design

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

scala相当于python __getattr__/__setattr__

是否有scala等效的python __getattr__ / __setattr__(以及其他__*__方法?).有些东西是内置的还是一些特征?

python scala properties dynamic getter-setter

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

在clojure中反转哈希映射

我在clojure中使用哈希映射:

{"key1" "value1"} {"key2" "value2"} {"key3" "value1"}
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为哈希映射

{"value1" {"key1" "key3"}} {"value2" {"key2"}}
Run Code Online (Sandbox Code Playgroud)

这样做的任何clojure方式?

clojure.set/map-invert不会像重写值一样工作.

clojure hashmap data-structures

3
推荐指数
1
解决办法
320
查看次数

如何从 Dart 中的 Map 中选择随机元素?

如何从Map中选择随机键(元素)?

我可以使用map.keys.toList()来做到这一点,如下面的代码所示,但我想知道是否有更直接的方法?

import "dart:math";

void main() {
    var map = {'a' :1, 'b':2, 'c':3};
    final _random = new Random();
    var keys = map.keys.toList();
    var element = keys[_random.nextInt(keys.length)];
    var r = map[element];
    print(r);
}
Run Code Online (Sandbox Code Playgroud)

dart

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

在 dart 中将 SocketServer 作为 Isolate 运行

我试图通过套接字控制 dart 脚本,在隔离中运行我想出了一些(剧透警告)不起作用的代码:

import "dart:io";
import "dart:convert";
import "dart:isolate";

reader(SendPort sendPort) async {
  var serverSocket = await ServerSocket.bind("127.0.0.1", 83);
  print('connected');
  await for (var socket in serverSocket) {
    socket.transform(UTF8.decoder).listen((msg) => sendPort.send(msg));
  }
}

main() {
  bool start = false;
  bool stop = false;
  listener (message)
  {
    print ("message from isolate: $message");
    stop = start;
    start = true;
  }
  ReceivePort receive = new ReceivePort();
  receive.listen(listener);
Isolate.spawn(reader, receive.sendPort).then((Isolate) => print("Isolate started"));
  print("Waiting to start");
  while (!start) {}
  print("Waiting to stop");
  while (!stop) {} …
Run Code Online (Sandbox Code Playgroud)

sockets asynchronous dart dart-isolates

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

在 dart 中使用对象作为映射键会对性能产生重大影响吗?

在 dart 中编写一些代码时,我最近发现使用某些对象作为映射键更简单的情况。实际上这段代码是在 Web 模式下执行的(编译为 javascript),但最终它也会在 dart VM 模式下使用。

使用对象作为映射的键会对 dart 产生显着的内存/性能影响吗?

我没有找到很多关于基准测试的资源(https://dart.dev/articles/benchmarking已失效),因此也欢迎任何指示。

performance benchmarking dictionary dart

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

带有通配符匹配的字符串

我需要使用简单的通配符匹配两个字符串:

"oh.my.*"比赛"*.my.life","oh.my.goodness""*.*.*",但不"in.my.house"

唯一的通配符是*,它替换任何字符的字符串(减去.)

我想过使用fnmatch,但它不接受文件名中的通配符.

我正在使用一些正则表达式的代码 - 更简单的东西会更好,我想:

def notify(self, event, message):
    events = []
    r = re.compile(event.replace('.','\.').replace('*','[^\.]+'))
    for e in self._events:
        if r.match(e):
            events.append(e)
        else:
            if e.find('*')>-1:
                r2 = re.compile(e.replace('.','\.').replace('*','[^\.]+'))
                if r2.match(event):
                    events.append(e)
    for event in events:
        for callback in self._events[event]:
            callback(self, message)
Run Code Online (Sandbox Code Playgroud)

python regex string

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

从scala中的类型名称获取类型

在使用scala进行一些调整之后,我找到了从给定类型创建新对象的解决方案

object Entity {

  def get[T <: Entity: ClassManifest]: T = {

      val entity = implicitly[ClassManifest[T]].erasure.getConstructors()(0).newInstance().asInstanceOf[T]

      /** some stuff **/

      entity

  }

}

abstract class Entity {

}

class Implementation extends Entity {

}
Run Code Online (Sandbox Code Playgroud)

然后用法:

var e = Entity.get[Implementation]
Run Code Online (Sandbox Code Playgroud)

我的问题

  1. 那是好的还是有一些不同的方式(我现在使用scala 2.9.2)?

  2. 是否有类似Class.forName的东西允许从其名称中获取类型?(或者更一般地说,我可以使用type作为变量吗?)

reflection types scala

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

mysql 中两列的 MAX

我想知道是否有更好的方法从 c1 列获取 max,然后从 c2 列获取所选行的 max

SELECT MAX(c1) , MAX(c2) FROM t GROUP BY c1 HAVING c1 = MAX(c1)
Run Code Online (Sandbox Code Playgroud)

mysql sql query-optimization aggregate-functions

0
推荐指数
1
解决办法
5683
查看次数