小编Igo*_* F.的帖子

为什么是“你好,世界!” JavaScript 代码片段被识别为可接受的程序指令?

最近一位同事展示了这段 JavaScript 代码:

greet = "?".toString.bind("hello world!")
Run Code Online (Sandbox Code Playgroud)

如果您将其粘贴到开发者控制台中并执行,它将打印“Hello, World!” 信息:

>> console.log(greet())
hello, world!
Run Code Online (Sandbox Code Playgroud)

我发现的另一个有趣的事情是,如果您将相同的greet代码粘贴到Node.js REPL 中,它会自动将其转换为“可读”格式。

这是如何运作的?为什么这种行为在浏览器中是可能的,为什么 Node.js 会自动格式化它?

javascript node.js

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

使用excel vba过滤掉多个条件

我在A列,1,2,3,4,5和A,B,C中有8个变量.

我的目标是过滤掉A,B,C并仅显示1-5.

我可以使用以下代码执行此操作:

My_Range.AutoFilter Field:=1, Criteria1:=Array("1", "2", "3","4","5"), _
    Operator:=xlFilterValues
Run Code Online (Sandbox Code Playgroud)

但代码的作用是过滤变量1到5并显示它们.

我不会做相反的事情,但通过过滤出A,B,C并显示变量1到5,产生相同的结果

我试过这段代码:

My_Range.AutoFilter Field:=1, Criteria1:=Array("<>A", "<>B", "<>C"), _
    Operator:=xlFilterValues
Run Code Online (Sandbox Code Playgroud)

但它没有用.

为什么我不能使用这段代码?

它给出了这个错误:

运行时错误1004范围类的autofilter方法失败

我怎么能这样做?

excel vba excel-2007 excel-2010

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

使用有效的 kotlin 方式在不使用 try-catch 块的情况下处理错误

科特林 1.3.61

我一直在看书Effective Kotlin by Marcin Moskala。并发现有关处理错误的项目很有趣,因为它不鼓励使用 try-catch 块,而是使用自定义处理程序类

引自书中:

使用这样的错误处理不仅比 try-catch 块更有效,而且通常也更容易使用和更明确

但是,在某些情况下无法避免 try-catch。我有以下片段

class Branding {

        fun createFormattedText(status: String, description: String): ResultHandler<PricingModel> {
            return try {
                val product = description.format(status)
                val listProducts = listOf(1, 2, 3)

                ResultHandler.Success(PricingModel(product, listProducts))
            }
            catch (exception: IllegalFormatException) {
                ResultHandler.Failure(Throwable(exception))
            }
        }
    }

    class PricingModel(val name: String, products: List<Int>)
Run Code Online (Sandbox Code Playgroud)

所以description.format(status)如果格式化失败会抛出异常

这是我的 HandlerResult 类,以及本书推荐的内容:

sealed class ResultHandler<out T> {
    class Success<out T>(val result: T) : ResultHandler<T>()
    class Failure(val throwable: Throwable) : …
Run Code Online (Sandbox Code Playgroud)

exception kotlin

7
推荐指数
2
解决办法
2308
查看次数

迭代 torch.utils.data.random_split 的子集

我目前正在加载一个包含人工智能训练数据的文件夹。子文件夹代表标签名称以及内部相应的图像。使用 pyTorch 的 ImageFolder 加载器可以很好地实现这一点。

def load_dataset():
    data_path = 'C:/example_folder/'

    train_dataset_manual = torchvision.datasets.ImageFolder(
        root=data_path,
        transform=torchvision.transforms.ToTensor()
    )

    train_loader_manual = torch.utils.data.DataLoader(
        train_dataset_manual,
        batch_size=1,
        num_workers=0,
        shuffle=True
    )

    return train_loader_manual

full_dataset = load_dataset()
Run Code Online (Sandbox Code Playgroud)

现在我想将此数据集分为训练数据集和测试数据集。我为此使用 random_split 函数:

training_data_size = 0.8

train_size = int(training_data_size * len(full_dataset))
test_size = len(full_dataset) - train_size
train_dataset, test_dataset = torch.utils.data.random_split(full_dataset, [train_size, test_size])
Run Code Online (Sandbox Code Playgroud)

full_dataset 是类型的对象torch.utils.data.dataloader.DataLoader。我可以用这样的循环来迭代它:

for batch_idx, (data, target) in enumerate(full_dataset):
    print(batch_idx)
Run Code Online (Sandbox Code Playgroud)

train_dataset类型的对象torch.utils.data.dataset.Subset。如果我尝试循环它,我会得到:

TypeError“DataLoader”对象不可下标:

for batch_idx, (data, target) in enumerate(train_dataset):
    print(batch_idx)
Run Code Online (Sandbox Code Playgroud)

我怎样才能循环它?我对 Python 比较陌生。

谢谢!

python loops pytorch

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

数据识别用于数据挖掘和基于文本的分析

我正在创建一个软件,用于转储任何用户评论和发布在他们的Twitter个人资料上的关于某些化妆品"XYZ"的纯文本.我解析了从Twitter API收到的JSON对象,并将原始数据转储到MySql数据库中.

现在我必须分析这些纯文本以获取模式,无论是关于化妆品"XYZ"的好评还是坏评论等,并将此信息提供给单独的API以创建HTML中的dymnamic可视图表.

我在DataMining和基于文本的模式识别领域是全新的.如果有人能够建议如何从我的数据库中的纯文本继续使用模式识别算法来为我的单独的可视化图表API提供提要,那么我们将非常感激.

algorithm twitter machine-learning data-mining

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

在 Dart 中顺序处理可变数量的异步函数

我需要在 Dart 中重复调用一个异步函数,我们称之为expensiveFunction,以获取可变数量的参数。但是,由于每个调用都非常消耗内存,因此我无法并行运行它们。我如何强制它们按顺序运行?

我已经尝试过这个:

argList.forEach( await (int arg) async {
  Completer c = new Completer();
  expensiveFunction(arg).then( (result) {
    // do something with the result
    c.complete();
  });
  return c.future;
});
Run Code Online (Sandbox Code Playgroud)

但并没有达到预期的效果。仍在为每个inexpensiveFunction并行调用。我实际上需要的是在循环中等待,直到完成,然后才继续处理 中的下一个元素。我怎样才能做到这一点?argargListforEachexpensiveFunctionargList

future dart

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

如何在ggplot2中绘制参数曲线

我想在 ggplot2 中绘制参数曲线。当只绘制点时,排序无关紧要,它可以正常工作:

library(ggplot2)
phi = seq(0, 2*pi, length.out=100)
df1 = data.frame(x=(phi+3)*cos(phi), y=(phi+3)*sin(phi))
ggplot(data=df1, aes(x, y)) + geom_point()
Run Code Online (Sandbox Code Playgroud)

螺旋中的点

不幸的是,ggplot2 对点进行了隐式排序,因此当我尝试绘制一条线时

ggplot(data=df1, aes(x, y)) + geom_line()
Run Code Online (Sandbox Code Playgroud)

我得到

失败的螺旋

这不是我想要的。这些点的连接顺序应与它们在数据框中的顺序相同。有没有办法在 ggplot2 中做到这一点?

(我阅读了Plot a heart in R 中的答案,但我的问题特别是关于 ggplot2 并且使用极坐标不是一种选择)。

r ggplot2 parametric-equations

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

geom_smooth 中二项式公式的语法

我在 R 中计算了二项式回归:

Call:
glm(formula = cbind(success, failure) ~ x * f, family = "binomial", 
    data = tb1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-3.6195  -0.9399  -0.0493   0.5698   2.0677  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept) -2.3170182  0.0622600 -37.215  < 2e-16 ***
x            0.0138201  0.0009892  13.972  < 2e-16 ***
fTRUE        0.6466238  0.1976115   3.272  0.00107 ** 
x:fTRUE     -0.0035741  0.0032587  -1.097  0.27273    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 glm

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

Javascript if else语句优化

我想问一下JavaScript if else语句中的优化问题.我有这样的代码

if ( thisIsTrue )
    printMe("someMessage");
Run Code Online (Sandbox Code Playgroud)

代码可以像这样进行优化

thisIsTrue && printMe("someMessage");
Run Code Online (Sandbox Code Playgroud)

问题是什么代码thisIsTrue && printMe("someMessage");只能在声明中工作谁返回true.

如果回报是假的怎么办?

javascript

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

正则表达式提取所有后续单词的第一个单词+第一个字符

我是(新手)使用 R 和正则表达式来编写用于操作data.frame列中字符串的正则表达式。我的数据在 R 中是这样的:

c1                       
Peter Parker            
Hawk & Dove             
J Jonah Jameson         
3JPX spo                
Bruce Wayne              
Run Code Online (Sandbox Code Playgroud)

我想要得到的是第二列“c2”,它由以下字符串组成:

c2
PeterP
Hawk&D
JJJ
3JPXs
BruceW
Run Code Online (Sandbox Code Playgroud)

基本上我想要字符串的整个第一个单词(无论长度如何)以及后面每个单词的第一个字母数字元素。我无法为此找到任何功能或逻辑。用正则表达式可以这样做吗?

提前致谢

regex r

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

多项选择菜单 Python

我尝试做一个选择菜单,每个菜单做不同的事情,例如如果你选择数字1,会很好,但是如果你尝试选择2或其他数字,首先会尝试运行1,而我不想要这个。有没有办法让每个选项“独立”?

示例(这将起作用):

choice = input ("""
    1. Make thing 1
    2. Make thing 2
    3. Make thing 3
    4. Exit

    Please select your choice:""")

if choice == "1":
    print("thing 1")
if choice == "2":
    print("thing 2")
if choice == "3":
    print("thing 3")
if choice == "4":
    print("thing 4")
Run Code Online (Sandbox Code Playgroud)

但是,如果 1 以后有更多编码,并且您想使用选项 2,python 也将运行 1...

python python-3.x

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