小编ric*_*ici的帖子

如何使用`:rand`作为map/collect的一元方法?

我想要一个包含滚动10个骰子的结果的矢量(比方说).我可以做这个:

([6]*10).map{|x|rand(x)}
Run Code Online (Sandbox Code Playgroud)

但这给了我一个"错误的参数数量"错误:

([6]*10).map(:rand)
Run Code Online (Sandbox Code Playgroud)

有一个免费的点对点的方式来传递的一个参数版本randmap

ruby

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

Flex/Bison:不能使用语义类型

我尝试创建一个 c++ flex/bison 解析器。我使用本教程作为起点,并没有更改任何野牛/flex 配置。我现在坚持尝试对词法分析器进行单元测试。

我的单元测试中有一个直接调用 yylex 的函数,并检查它的结果:

private: static void checkIntToken(MyScanner &scanner, Compiler *comp, unsigned long expected, unsigned char size, char isUnsigned, unsigned int line, const std::string &label) {
    yy::MyParser::location_type loc;
    yy::MyParser::semantic_type semantic; // <---- is seems like the destructor of this variable causes the crash

    int type = scanner.yylex(&semantic, &loc, comp);
    Assert::equals(yy::MyParser::token::INT, type, label + "__1");

    MyIntToken* token = semantic.as<MyIntToken*>();
    Assert::equals(expected, token->value, label + "__2");
    Assert::equals(size, token->size, label + "__3");
    Assert::equals(isUnsigned, token->isUnsigned, label + "__4");
    Assert::equals(line, …
Run Code Online (Sandbox Code Playgroud)

c++ unit-testing bison flex-lexer

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

获取 Parse-Server 中某个类中的所有键

我正在编写一个全局搜索函数(JS 和 Cloud 代码),我需要从给定的类中获取所有可用的键。

我尝试扩展一个类并获取它的对象属性

var Item = Parse.Object.extend("Item");
var item = new Item();
console.log(item.attributes);
Run Code Online (Sandbox Code Playgroud)

但我得到一个空对象。

如果我从数据库中检索一个对象,无论是通过 get() 还是 find(),我都会得到它的键,但只有那些有值的,而且我需要检索给定类中的所有键。

javascript parse-platform parse-server

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

使用Regex匹配多行C++样式注释

好的,我知道这是一个反复出现的问题,但我似乎无法找到一个完全基于正则表达式的单一工作解决方案.

所以,这就是我提出的(实际上是基于ECMAC#尖锐语法规范中的多行注释的"文字"描述).

\/\*(([^\*])+)|([\*]+(?!\/))[\*]+\/
Run Code Online (Sandbox Code Playgroud)

但是,你可以看到它不起作用......

演示:

http://regexr.com?38gom

有任何想法吗?如果不做各种各样的黑客攻击,这是否可行?(好吧,我的意思是除了正则表达式本身......哈哈)


PS如果它具有任何信息价值,我目前正在使用Lex/Bison/C/D开发词法分析器/解析器/解释器,显然多行注释是一个需要考虑的事情......

c# c++ regex comments

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

php解析sdk - >你好世界错误

我正在使用Php Parse Sdk的"Hello World"

我的代码:

<?php 
require 'vendor/autoload.php';

use Parse\ParseClient;

ParseClient::initialize('WVqz27oWBfP2weewrfeweKAlVWymjltMGqi9h', 'jgtaXI1Nrim1B4fdnewewewef3iNXgER8y', 'JD8B6dNL9FleweewewhjvvwZwIlc800');

use Parse\ParseObject;

$testObject = ParseObject::create("TestObject");
$testObject->set("foo", "bar");
$testObject->save();

?>
Run Code Online (Sandbox Code Playgroud)

和错误:

Fatal error: Uncaught exception 'Parse\ParseException' with message 'SSL certificate problem: unable to get local issuer certificate' in C:\xampp\htdocs\parsesdk\vendor\parse\php-sdk\src\Parse\ParseClient.php:250 
Stack trace: #0 C:\xampp\htdocs\parsesdk\vendor\parse\php-sdk\src\Parse\ParseObject.php(915): Parse\ParseClient::_request('POST', '/1/classes/Test...', NULL, '{"foo":"bar"}') 
#1 C:\xampp\htdocs\parsesdk\vendor\parse\php-sdk\src\Parse\ParseObject.php(828): Parse\ParseObject::deepSave(Object(Parse\ParseObject)) 
#2 C:\xampp\htdocs\parsesdk\index.php(12): Parse\ParseObject->save() 
#3 {main} thrown in  C:\xampp\htdocs\parsesdk\vendor\parse\php-sdk\src\Parse\ParseClient.php on line 250
Run Code Online (Sandbox Code Playgroud)

php sdk parse-platform

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

无法启用Parse Local Datastore

我正在尝试启用Parse Local Datastore.在Parse Docs中,他们说enableLocalDatastore 要先 放入代码setApplicationId:clientKey:,但这会引发异常:

由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因是:'你必须在Parse上调用setApplicationId:clientKey:来配置Parse.'

cocoa-touch local datastore ios parse-platform

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

在一个命令中截断管道文本的中间并替换为省略号

我有一个很长的文本流,它开始发送到stdout. 在 bash 中,我可以通过运行来显示前几行:

$ seq 1 5010 | head 5
1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)

或结束

$ seq 1 5010 | tail 5
5006
5007
5008
5009
5010
Run Code Online (Sandbox Code Playgroud)

但是我需要显示前 5 个和最后 5 个以及中间的省略号......所以输出可能看起来像

1
2
3
4
5
...
5006
5007
5008
5009
5010
Run Code Online (Sandbox Code Playgroud)

我需要在单行股票 bash 中执行此操作。那可能吗?如何?

bash shell

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

什么是将两个文件并排连接在一起的干净方式?

我有两个文件,每个文件包含每行一个十六进制数字.这两个文件具有相同的数字(因此行数相同).

我想将这两个文件合并为一个,但将数字并排显示在两列中.所以

文件A有:

a1
a2
a3
Run Code Online (Sandbox Code Playgroud)

文件B有:

b1
b2
b3
Run Code Online (Sandbox Code Playgroud)

我想要一个看起来像这样的文件:

a1 b1
a2 b2
a3 b3
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?加入看起来像一个候选人,但我一直在玩它,我无法让它工作.(Join似乎在键和排序值的前提下工作.)

bash

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

在导航视图控制器登录屏幕上运行 PerformSegueWithIdentifier 通过两个屏幕转换

我在 Xcode 7 beta 4 中创建了一个故事板,并使用 Parse.com 来存储我的数据。我的故事板包含一个带有“登录”和“注册”按钮的初始屏幕,这些按钮将用户(使用模式转场)导航到各自的屏幕(登录和注册屏幕是嵌入在两个单独的导航控制器中的两个单独的屏幕)。从登录屏幕,我创建了一个到新视图控制器的推送序列(这是登录后屏幕)。进入注册和登录屏幕没有任何问题。

问题是当用户通过登录屏幕成功登录时。当我输入有效的用户凭据并单击“登录”时,它会转至下一个屏幕(导航栏上带有 <“登录”),然后立即再次转至不存在的屏幕(导航栏上带有 <“返回”)导航栏)。有谁知道为什么会发生这种情况?我只是希望 Segue 将用户带到下一个屏幕...我不确定为什么它要在两个屏幕之间转换。

这是我在 LoginViewController.swift 中的“登录”按钮操作的代码:

 @IBAction func loginButton(sender: AnyObject) {

    if emailAddressLogin.text == "" || emailAddressPassword.text == "" {

        displayAlert("Login Error", message: "Please enter a valid username and password")

    } else {

        activityIndicator = UIActivityIndicatorView(frame: CGRectMake(0, 0, 50, 50))
        activityIndicator.center = self.view.center
        activityIndicator.hidesWhenStopped = true
        activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
        view.addSubview(activityIndicator)
        activityIndicator.startAnimating()
        UIApplication.sharedApplication().beginIgnoringInteractionEvents()

        var errorMessage = "Please try again"

        PFUser.logInWithUsernameInBackground(emailAddressLogin.text!, password: emailAddressPassword.text!, block: { (user, error) -> Void in

            self.activityIndicator.stopAnimating()
            UIApplication.sharedApplication().endIgnoringInteractionEvents() …
Run Code Online (Sandbox Code Playgroud)

iphone ios parse-platform swift

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

如何减去两个strlen()函数的工作原理

为什么"paid"这个程序打印出较短的字符串()?

#include <stdio.h>
int main()
{
    char s[] = "paid", t[] = "paviDboss";
    if ((strlen(s) - strlen(t)) > 0)
        printf("%s\n", s);
    else
        printf("%s\n", t);
}
Run Code Online (Sandbox Code Playgroud)

c

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

解析错误:语法错误,意外"{"

尝试了一些事情,我确信这是一个小错误,但我已经盯着它多年了!

if (isset ($_GET['id']) { $product_id = strip_tags($_GET['id']); }
Run Code Online (Sandbox Code Playgroud)

任何人都可以看到有什么问题?

php

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

C程序通过命令行传递参数

我正在尝试创建一个非常简单的程序,它包含两个.c文件 - main.c和foo.c.

目标是链接这两个文件,并将参数传递给main.c方法,然后调用foo.c文件中的方法foo().

main.c的代码是:

#include <stdio.h>
#include "foo.h"

int main(int argc, char *argv[]) {

    foo(argv[1]);


    return 0;
}
Run Code Online (Sandbox Code Playgroud)

和foo.c是:

#include <stdio.h>
#include "foo.h"

void foo(char *input[]) {

    printf("Welcome, %s\n", input);
}
Run Code Online (Sandbox Code Playgroud)

我还有一个头文件,foo.h,它只有一行:void foo(char*input []);

当我尝试使用构建和运行文件时

gcc -o main main.c foo.c foo.h
Run Code Online (Sandbox Code Playgroud)

我收到了错误

main.c: In function ‘main’:
main.c:6:2: warning: passing argument 1 of ‘foo’ from incompatible       pointer type [enabled by default]
foo(argv[1]);
^
In file included from main.c:2:0:
foo.h:1:6: note: expected ‘char **’ but argument is of type ‘char *’ …
Run Code Online (Sandbox Code Playgroud)

c command-line

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