问题列表 - 第279859页

有没有办法在Kotlin中隐藏Java方法?

我正在学习Kotlin,现在我正在阅读Kotlin in Action。阅读有关扩展功能和标准库改进的章节,我了解了String.splitJava和Kotlin之间的重载所暴露出的不同行为:我认为在基于定界符和基于正则表达式之间进行显式且更多类型指导的分离是一个很好的主意。超载。

关于这一点,我在上面提到的那本书说Kotlin隐藏了令人困惑的方法,并提供了替换的几个split具有不同参数的重载扩展作为替换

扩展功能响应问题“如何向现有类添加方法”;另一方面,我无法弄清楚如何隐藏 Java标准库提供的方法

我做了一些尝试,编写了简单的代码,然后发现

  1. val ks = "Pietro Martinelli" 拥有 ks::class.qualifiedName == "kotlin.String"
  2. val ks = "Pietro Martinelli" 拥有 ks::javaClass.name == "java.lang.String"
  3. 将上述值ks传递给Java方法时,接收到的参数x具有x.getClass().getName() == "java.lang.String"(按预期)
  4. String js = "Pietro Martinelli"(使用Java代码)具有js.getClass().getName() == "java.lang.String"预期的
  5. 将上面的js值传递给Kotlin方法时,接收到的参数y具有y::class.qualifiedName == "kotlin.String"y.getClass().getName() == "java.lang.String"(到目前为止已达到预期)

所以:当我在Kotlin中使用值以及从Kotlin到Java来回往返时,似乎(让我说)发生了一些魔术String。如果我对它的理解不正确,那么StringKotlin中的文字是的实例,kotlin.String但它们绑定到Java类型,该Java类型透明地用于Java方法调用。这样Kotlin库可以 …

java extension-methods kotlin

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

Python3 `builtins` 并不总是 `__builtins__`

我提出了这个想法如何制作跨模块变量?在 python3 中运行。并且懒得使用变量__builtins__而不是模块builtins。这应该没有区别,因为:

# file spam.py:
import builtins
print (builtins is __builtins__)
print (id(builtins))
print (id(__builtins__))
Run Code Online (Sandbox Code Playgroud)

这是它变得有趣的时候:builtins不是__builtins__在导入时:

$ python3 spam.py 
True
140598001743336
140598001743336

$ python3 -c 'import spam'
False
139755426543080
139755426520904
Run Code Online (Sandbox Code Playgroud)

有谁知道会发生什么?

(给定页面上的评论提到“__builtins__是 CPython 的特性,你真的不应该使用它”,但我很好奇......)

python python-3.x

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

PrimeNG 日历 <p-calendar> - 如何禁用 UTC - Z 时区

有谁知道是否可以禁用日期/时间选择器自动将 UTC 时间添加到日期对象?如下图所示,它会自动将我的日期对象调整为 UTC。我希望我的日期对象在 10:00:00 提交

在此处输入图片说明

{"reportedDate": "2019-02-13T15:00:16.000Z"}


<p-calendar required [(ngModel)]="entry.reportedDate" name="reportedDate" #reportedDate="ngModel" [showIcon]="true" [showTime]="true" dateFormat="mm/dd/y 'EST'" hourFormat="24"></p-calendar>
Run Code Online (Sandbox Code Playgroud)

date primeng angular

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

将热图添加到 Folium 中的图层

我有这个示例代码:

from glob import glob
import numpy as np
import folium
from folium import plugins
from folium.plugins import HeatMap

lon, lat = -86.276, 30.935 
zoom_start = 5


data = (
    np.random.normal(size=(100, 3)) *
    np.array([[1, 1, 1]]) +
    np.array([[48, 5, 1]])
).tolist()
m = folium.Map([48, 5], tiles='stamentoner', zoom_start=6)

HeatMap(data).add_to(m)
m
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如何将此热图添加到图层,以便在需要时将其隐藏?

python dictionary folium

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

如何在Oracle中不使用TRUNC获取天数

我试图SYSDATE在不使用TRUNC的情况下获取其中一个表中的列和天数之间的天数,因为我需要将时间戳包含在减法中.

我试图实现类似于下面的代码,但不使用TRUNC

select * from table_name where trunc(sysdate) - trunc(column_name) > 60;
Run Code Online (Sandbox Code Playgroud)

请注意,column_name时间戳不是日期.

sql database oracle

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

如何在Keras中定义ConvLSTM编码器_解码器?

我见过在 Keras 中使用 LSTM 构建编码器-解码器网络的示例,但我想要一个 ConvLSTM 编码器-解码器,并且由于 ConvLSTM2D 不接受任何“initial_state”参数,因此我可以将编码器的初始状态传递给解码器,我尝试在 Keras 中使用 RNN 并尝试将 ConvLSTM2D 作为 RNN 的单元传递,但出现以下错误:

ValueError: ('`cell` should have a `call` method. The RNN was passed:', <tf.Tensor 'encoder_1/TensorArrayReadV3:0' shape=(?, 62, 62, 32) dtype=float32>)
Run Code Online (Sandbox Code Playgroud)

这就是我尝试定义 RNN 单元的方式:

first_input = Input(shape=(None, 62, 62, 12))
encoder_convlstm2d = ConvLSTM2D(filters=32, kernel_size=(3, 3),
                                    padding='same',
                                    name='encoder'+ str(1))(first_input )
encoder_outputs, state_h, state_c = keras.layers.RNN(cell=encoder_convlstm2d, return_sequences=False, return_state=True, go_backwards=False,
                 stateful=False, unroll=False)
Run Code Online (Sandbox Code Playgroud)

conv-neural-network keras tensorflow recurrent-neural-network encoder-decoder

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

从张量流数据集迭代器获取输入(文件名)

我正在使用张量流数据集来训练模型。数据集获取文件名列表以在会话期间读取它们,我想将文件名与图像一起获取。更详细地说,我有这样的事情:

filenames = tf.constant(["/var/data/image1.jpg", "/var/data/image2.jpg", ...])
labels = tf.constant([0, 37, ...])
dataset = tf.data.Dataset.from_tensor_slices((filenames, labels))
dataset.shuffle()

def _parse_function(filename, label):
  image_string = tf.read_file(filename)
  image_decoded = tf.image.decode_jpeg(image_string)
  image_resized = tf.image.resize_images(image_decoded, [28, 28])
  return image_resized, label

dataset = dataset.map(_parse_function)
iterator = dataset.make_one_shot_iterator()
X, Y = iterator.get_next()

sess = tf.Session()
sess.run(iterator.initializer)
while True:
  sess.run(X) #Here I want the element from filenames being used for X
Run Code Online (Sandbox Code Playgroud)

我以为这个信息可以包含在 中iterator,但我找不到它。

python iterator tensorflow tensorflow-datasets

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

我应该手动安装所有对等依赖项以删除 npm 警告吗?

我通过npm几个角度包安装,我有这个警告:

@angular/compiler-cli@7.2.5 requires a peer of typescript@>=3.1.1 <3.3 
                                                                    but none is installed. 
You must install peer dependencies yourself.
Run Code Online (Sandbox Code Playgroud)

a) 对等依赖和公正依赖之间有什么区别?
b) 我现在应该安装什么来修复警告?

我的意思是,假设我安装了一个我知道的包“P”,但是这个 P 需要 X、Y 和 Z。我应该手动安装它们吗?好像不是很爽。。。

实际上,我安装了Angular,但是Angular需要compiler-clr和最新的需要typescript

当我看到这个警告时,我安装了npm install typescript它给我安装了版本typescript@3.3.3,但是这个 ***compiler-clr需要 typescript@ <3.3,我现在该怎么办?

3.3对于这种类型的所有警告,我是否应该分析之前发布的打字稿版本等等?

npm typescript npm-install angular

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

如何为 Mailchimp 上的列表成员添加标签?

我想向 mailchimp 列表中的特定用户添加标签

$email = "toto@example.com";
$tag="test";
$userid = md5( strtolower( $email ) );


$data = array(
    'apikey'        => $mailchimp_api_key,
    'email_address' => $email,
    'tags' => array(
        'name' => $tag,
        'status' => 'active'
        )
    );

$json_data = json_encode($data);

$url = 'https://'.$mailchimp_datacenter.'api.mailchimp.com/3.0/lists/'.$mailchimp_list_id.'/members/' . $userid . '/tags';


$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json',
    'Authorization: Basic '.$auth));
curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
if ($displaytaglist!="") {
    curl_setopt($ch, CURLOPT_POST, true);   
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
}
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result …
Run Code Online (Sandbox Code Playgroud)

php mailchimp mailchimp-api-v3.0

6
推荐指数
2
解决办法
2441
查看次数

使用Gradle编译为比Javac允许的Java级别低的级别

我在Java 12上大吃一惊,并注意到javac最低目标Java级别已提高到1.7。

Execution failed for task ':com.foo:compileJava'.
> error: release version 6 not supported
Run Code Online (Sandbox Code Playgroud)

为什么我要编译为您要求的Java 6?

即使我的代码库要求的最低Java级别为1.7,我仍然希望将内核以较旧的Java级别进行编译,以便JVM可以启动,并且我可以输出一条更好的错误消息,指示必须使用Java 7+,而不是更多。神秘的不兼容类版本错误。

展望未来...

Java 6并不是太大的问题,但是我主要关心的是,如果Java仅支持N-5版本,那么到Java 14(大约从现在开始),我将不再能够编译为Java 8。仍然是一个非常流行的运行时版本。

我相信Maven可以通过工具链解决此类问题,但是Gradle是否提供类似的功能?

编辑:我还注意到JEP 182尚未批准,但是如果批准将意味着仅支持N-3版本。

java gradle java-12

5
推荐指数
0
解决办法
113
查看次数