小编Jar*_*sen的帖子

Ruby中的一个内核用于显示提示,获取输入和分配给变量?

我经常发现自己在做以下事情:

print "Input text: "
input = gets.strip
Run Code Online (Sandbox Code Playgroud)

有一种优雅的方式在一行中做到这一点吗?就像是:

puts "Input text: #{input = gets.strip}"
Run Code Online (Sandbox Code Playgroud)

这样做的问题是它在显示提示之前等待输入.有任何想法吗?

ruby input

77
推荐指数
5
解决办法
5万
查看次数

如何使用Nokogiri精美打印HTML?

我在Ruby中编写了一个Web爬虫,我正在使用它Nokogiri::HTML来解析页面.我需要打印页面,在IRB中乱搞时我注意到了一种pretty_print方法.然而,它需要一个参数,我无法弄清楚它想要什么.

我的抓取工具正在缓存网页的HTML并将其写入本地计算机上的文件.我想"漂亮地打印"HTML,以便它在我这样做时看起来很好并且格式正确.

html ruby pretty-print nokogiri

23
推荐指数
3
解决办法
3万
查看次数

React Native中的全屏图像

如何在React Native中<Image>填充整个UIWindow大小的区域?如果我使用Autolayout,我会在每个边缘设置约束,但是通量是非常不同的范例,我不是网络人.没有设置手动宽度/高度我<Image>没有显示,但如何动态地告诉样式与其父元素的宽度和高度相同,或者至少是窗口?

ios react-native

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

在NSURL上实现StringLiteralConvertible

我实施了StringLiteralConvertible,扩展了ExtendedGraphemeClusterLiteralConvertible.看起来它也希望我实现它.然而,当我这样做时,Xcode说它不知道是什么ExtendedGraphemeClusterLiteralType.我不确定它对我有什么要求......

extension NSURL : StringLiteralConvertible {
    class func convertFromStringLiteral(value: StringLiteralType) -> Self {
        return self(string: value)
    }

    class func convertFromExtendedGraphemeClusterLiteral(value: ExtendedGraphemeClusterLiteralType) -> Self {
        // Use of undeclared type ExtendedGraphemeClusterLiteralType :( ?
    }
}

let url : NSURL = "http://apple.com"
Run Code Online (Sandbox Code Playgroud)

swift

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

在 Ruby 中为 Diffie-Hellman 生成大素数

我正在为我的一个大学课程的项目编写一个用 ruby​​ 进行的 diffie-hellman 密钥交换的实现。我需要生成至少 500 位长度的大(安全)素数。有任何想法吗?我应该使用 OpenSSL 库吗?如果是这样,您会推荐哪些功能?

ruby cryptography diffie-hellman

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

冗余组装说明?

最近我一直在努力学习逆向工程.因此,我一直在研究很多汇编代码.我对以下内容感到困惑:

movq    %rax,0xf8(%rbp)
movq    0xf8(%rbp),%rax
Run Code Online (Sandbox Code Playgroud)

我已经好几次见过这个了.这不是多余的吗?为什么编译器会这样做?我正在看的二进制文件是用gcc编译的.

x86 assembly gcc reverse-engineering

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

在C++中使用C-Strings解析URL

我正在为我的一个CS类学习C++,而对于我们的第一个项目,我需要使用c-strings解析一些URL(即我不能使用C++ String类).

我能想到接近这个的唯一方法就是迭代(因为它是一个char [])并使用一些switch语句.来自在C++方面经验丰富的人 - 有更好的方法吗?你能指点我一个好的在线资源吗?我还没找到一个.

c++ string

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

BST在C++中插入

我正在学习C++并编写二叉搜索树.以下是我为insert方法编写的代码.

BSTNode * BST::Insert(const std::string & v) {
    BSTNode *n = !root ? root = new BSTNode(v) : Insert_Helper(v,root);
    if(n) size++;
    return n;
}

BSTNode * BST::Insert_Helper(const std::string & v, BSTNode *n) {
    if(!n->value.compare(v))
        return NULL; // already have v
    else if(n->value.compare(v) > 0) // v goes to the left
        if(n->left) return Insert_Helper(v,n->left);
        else return n->left = new BSTNode(v);
    else // v goes to the right
        if(n->right) Insert_Helper(v,n->right);
        else return n->right = new BSTNode(v);
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是这样的:它一切正常和花花公子,直到我尝试插入一个重复的节点.它不会添加新节点,但会增加计数.

通过在GDB中观察,我发现当我尝试添加我已经拥有的字符串时,Insert_Helper正常工作并返回NULL.然而,这个值(在我的机器上)就像0x6,当然超出界限,但不像我想的那样是0x0.我认为这会导致我有if(n)语句的问题.在这种情况下,n的计算结果为true,因此增加的大小比它应该增加一个.

此外,在我的程序中的这一点,节点继续正确添加,但我的插入函数继续返回0x6作为地址,即使它们确实在我可以访问的内存中的有效位置. …

c++ null pointers

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