我对 Java (6/7/8) 语法有一个愚蠢的问题 - 这两个方法调用片段总是等效的吗?
和this
this.myMethod(4);
Run Code Online (Sandbox Code Playgroud)没有this
myMethod(4);
Run Code Online (Sandbox Code Playgroud)注意:当然,问题是关于参数的每个数字、类型和组合
较弱的语句:给定程序P,我可以仅通过在每个方法调用前面P'删除来创建程序吗?this.
我考虑了本地类、匿名类、内部类和各种继承,但没有发现任何矛盾。所以我相信这两个片段实际上是相同的。不幸的是我无法找到任何合适的证明(例如来自官方语法)。
你能通过反证证明我错了,或者给我一些构建等价证明的线索吗?多谢。
编辑:等价被证明是错误的(见下面的评论)那较弱的陈述呢?
我想编写一个简单的插件来oh-my-zsh完成可能的服务器参数.
例1:
$ myserver st # hits tab
start stop
Run Code Online (Sandbox Code Playgroud)
例2:
$ myserver # hits tab
start stop restart
Run Code Online (Sandbox Code Playgroud)
根据维基,我创建了以咖啡插件的~/.oh-my-zsh/custom/plugins/myserver/myserver.plugin.zsh示例内容命名的文件(我也尝试过brew插件)但是completition不起作用(文件中描述的任何内容).而且抛出错误:
_arguments:comparguments:312: can only be called from completion function
Run Code Online (Sandbox Code Playgroud)
我检查了类似的问题和我的fpath包括~/.oh-my-zsh/custom/plugins/myserver.
我错过了什么?这应该很简单......谢谢你的帮助
我正在尝试使用包含python特殊版本的CIFAR-10数据集.
它是一组二进制文件,每个文件代表10k numpy矩阵的字典.这些文件显然是由python2创建的cPickle.
我试着从python2加载它,如下所示:
import cPickle
with open("data/data_batch_1", "rb") as f:
data = cPickle.load(f)
Run Code Online (Sandbox Code Playgroud)
这真的很棒.但是,如果我尝试从python3加载数据(没有,cPickle而是pickle替代),它会失败:
import pickle
with open("data/data_batch_1", "rb") as f:
data = pickle.load(f)
Run Code Online (Sandbox Code Playgroud)
如果失败并出现以下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 6: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
我可以以某种方式将原始数据集转换为可从python3读取的新数据集吗?或者我可能以某种方式从python3直接读取它?
我已经尝试加载它cPickle,将其转储json并读回来pickle,但是numpy矩阵显然不能写成json文件.
自 2016 年 9 月 15 日 youtube APIv3修订以来,无法找到稍后观看列表 idchannels.contentDetails.relatedPlaylists.watchLater,因为它包含固定字符串WL。
修订稿指出:
...
频道资源的 contentDetails.latedPlaylists.watchHistory 和 contentDetails.latedPlaylists.watchLater 属性现在分别包含所有频道的 HL 和 WL 值。
需要明确的是,这些属性仅对检索有关用户自己的频道的数据的授权用户可见。这些属性始终包含值 HL 和 WL,即使对于检索有关用户自己的频道的数据的授权用户也是如此。因此,无法通过 API 检索观看历史记录和稍后观看播放列表 ID。
...
最后一部分非常有趣,因为我无法想象如何获取我的 WL id,因此我无法列出我稍后保存的视频。
我还检查了reddit和其他 SO 问题(一、二、三、四),但没有成功。他们通常在提到的修订之前建议使用 v2 或 v3。
问题:如何获取稍后观看视频的 id?
我有一个模板化的类MyClass,我想为各种参数运行它,以便测量一些值.我知道编译之前的确切参数因此我认为必须有一种方法来实现目标.
我的代码到目前为止:
template <int T>
class MyClass { /*...*/ };
constexpr int PARAMS[] = {1,2,3 /*, ...*/};
for (constexpr auto& t: PARAMS) {
MyClass<t> myClass;
// ... do sth
}
Run Code Online (Sandbox Code Playgroud)
但是编译器(gcc v4.9.2,C++ 11)不接受这一点.我也试过使用const而不是constexpr哪个也不行.
有可能是这样的吗?我真的根本不想使用宏.
基本上,我正处于以下情况 - 我生成一个列表,例如
l = [2*x for x in range(10)]
Run Code Online (Sandbox Code Playgroud)
我稍后会多次迭代,例如
for i in l: print i # 0,2,4,6,8,10,12,14,16,18
for i in l: print i # 0,2,4,6,8,10,12,14,16,18
for i in l: print i # 0,2,4,6,8,10,12,14,16,18
Run Code Online (Sandbox Code Playgroud)
问题是列表太大而无法放入内存,因此我使用它的生成器形式,即:
l = (2*x for x in range(10))
Run Code Online (Sandbox Code Playgroud)
但是,在此构造之后,只有第一次迭代才有效:
for i in l: print i # 0,2,4,6,8,10,12,14,16,18
for i in l: print i #
for i in l: print i #
Run Code Online (Sandbox Code Playgroud)
问题出在哪儿?我怎么可以多次迭代它?
我应该使用什么文件分隔符来指定资源的路径?我运行打包的程序java -jar program.jar。
目前我使用以下加载
inputStream = getClass.getResourceAsStream(
File.separator + "resources" + File.separator + "my.class");
Run Code Online (Sandbox Code Playgroud)
在 linux 上,它被正确评估为/resources/my.class并加载了类。但是,在 WindowsNullPointerException上抛出了 a 。正确的用法是什么?我非常需要我的程序是多平台的。
我有点困惑,因为文档通知路径可能以/不是 Windows 分隔符的开头。
我熟悉python的nltk.metrics.distance模块,它通常用于计算两个字符串的编辑距离.
我感兴趣的是一个函数,它计算这样的距离,但不像通常那样以字符方式表示.我的意思是你只能替换/添加/删除整个令牌(而不是chars).
常规编辑距离和我想要的标记化版本的示例:
> char_dist("aa bbbb cc",
"aa b cc")
3 # add 'b' character three-times
> token_dist("aa bbbb cc",
"aa b cc")
1 # replace 'bbbb' token with 'b' token
Run Code Online (Sandbox Code Playgroud)
是否已经有一些功能,可以token_dist在python中计算?我宁愿使用已经实现和测试过的东西而不是编写我自己的代码.谢谢你的提示.
我如何遍历list(数字)并获取其每一对可能的值?
示例(java):
for(int i = 0; i < 5; i++)
for(int j = i+1; j < 5; j++)
print(i, j); // 01, 02, 03, 04, 12, 13, 14, 23, 24, 34
Run Code Online (Sandbox Code Playgroud)
我的问题是列表是通过生成器函数获取的,因此它是懒惰的.此外,它可能非常大,因此将所有对保留在内存中不仅仅是绝望的解决方案.
所以最后一个问题 - 如何在python中实现相同的行为,记住内存是有限的?还应该复杂不超过O(N^2)哪里N是的长度list.
我有matrix8列.对于每一行,我想绘制一个单一的箱图.我更喜欢箱形图在一个地块中.因此,以下示例应生成4个箱图(每个8个值) - 全部在单个图像中.
数据示例:
> data[2:5,]
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 0.6 0.5 0.5357143 0.5357143 0.5357143 0.5357143 0.5357143 0.5185185
[2,] 0.5 0.5 0.5357143 2.5357143 0.5357143 0.5357143 0.5357143 0.5185185
[3,] 0.5 0.7 0.5357143 0.5357143 0.5357143 0.5357143 0.5357143 0.5185185
[4,] 0.5 0.5 1.5357143 0.5357143 0.5357143 0.5357143 0.5357143 0.5185185
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试过:
> boxplot(data[2:5,])
Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) :
'x' must be atomic
Run Code Online (Sandbox Code Playgroud)
这个方法来自这个SO帖子:
> boxplot(as.list(as.data.frame(data[2:5,])))
Error in sort.int(x, na.last = …Run Code Online (Sandbox Code Playgroud) python ×4
generator ×2
java ×2
list ×2
boxplot ×1
c++ ×1
c++11 ×1
constexpr ×1
grammar ×1
invoke ×1
iteration ×1
matrix ×1
methods ×1
nltk ×1
oh-my-zsh ×1
path ×1
pickle ×1
plugins ×1
python-2.7 ×1
python-3.x ×1
r ×1
separator ×1
templates ×1
this ×1
unix ×1
windows ×1
youtube ×1
youtube-api ×1
zsh ×1