小编out*_*tis的帖子

如何通过分隔符将字符串拆分为数组?

我是编程新手.我一直在尝试用C++编写一个函数,它将字符串的内容分解为给定参数的字符串数组,例如:

string str = "___this_ is__ th_e str__ing we__ will use__";
Run Code Online (Sandbox Code Playgroud)

应该返回字符串数组:

cout << stringArray[0]; // 'this'
cout << stringArray[1]; // ' is'
cout << stringArray[2]; // ' th'
cout << stringArray[3]; // 'e str'
cout << stringArray[4]; // 'ing we'
cout << stringArray[5]; // ' will use'
Run Code Online (Sandbox Code Playgroud)

我可以很好地对字符串进行标记,但对我来说最困难的部分是如何在为其指定当前字符串toke之前指定stringArray中的元素数量以及如何从函数返回stringArray.

有人会告诉我如何写这个功能吗?

Edit1: 我不一定需要结果在字符串数组中只是任何容器,我可以调用它作为常规变量与某种索引.

c++ string function

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

将scala(2.8)case类中的可变数量的参数传递给父构造函数

我正在为Scala中的case类试验变量构造函数参数,但是我无法将它们传递给case类的父类的构造函数:

abstract case class Node(val blocks: (Node => Option[Node])*)
case class Root(val elementBlocks: (Node => Option[Node])*) extends Node(elementBlocks)
Run Code Online (Sandbox Code Playgroud)

以上不编译......实际上可以这样做吗?

inheritance scala variadic-functions scala-2.8

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

是否可以进行多行无表选择?

SELECT没有FROM子句的A 会在不查询表的情况下为我们提供多列:

SELECT 17+23, REPLACE('bannanna', 'nn', 'n'), RAND(), CURRENT_TIMESTAMP;
Run Code Online (Sandbox Code Playgroud)

如何在不引用表的情况下编写导致多行的查询?基本上,滥用SELECT将其转换为数据定义语句.结果可能有一列或多列.

我最感兴趣的是DBMS中立答案,但其他人(例如基于UNPIVOT)是受欢迎的.我想收集尽可能多的方法来做到这一点.这个问题背后没有技术应用; 它更具理论性而非实用性.

sql

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

简单的libxml2 HTML解析示例,使用Objective-c,Xcode和HTMLparser.h

请有人向我展示一个使用libxml解析一些HTML的简单示例.

#import <libxml2/libxml/HTMLparser.h>

NSString *html = @"<ul>"
    "<li><input type=\"image\" name=\"input1\" value=\"string1value\" /></li>"
    "<li><input type=\"image\" name=\"input2\" value=\"string2value\" /></li>"
  "</ul>"
  "<span class=\"spantext\"><b>Hello World 1</b></span>"
  "<span class=\"spantext\"><b>Hello World 2</b></span>";
Run Code Online (Sandbox Code Playgroud)

1)假设我想解析name = input2的输入值.

应该输出"string2value".

2)假设我想解析class = spantext的每个span标记的内部内容.

应输出:"Hello World 1"和"Hello World 2".

xcode objective-c html-parsing libxml2

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

数组作为类属性?

我有这个API,要求我有一个特定的数组键要发送.由于该数组需要在所有类方法上使用,因此我考虑将其作为类属性.

abstract class something {
    protected $_conexion;
    protected $_myArray = array();
}
Run Code Online (Sandbox Code Playgroud)

稍后,关于这个类的方法,我将使用:

$this->_myArray["action"] = "somestring";
Run Code Online (Sandbox Code Playgroud)

("action"是需要发送给此API的密钥);

这个可以吗?我没有在眼前看到足够的OOP,这就是我问这个问题的原因.

根据要求,以下是有关API的更多信息:

class Apiconnect {
    const URL = 'https://someurl.com/api.php';
    const USERNAME = 'user';
    const PASSWORD = 'pass';

    /**
     *
     * @param <array> $postFields
     * @return SimpleXMLElement
     * @desc this connects but also sends and retrieves the information returned in XML
     */
    public function Apiconnect($postFields)
    {
        $postFields["username"] = self::USERNAME;
        $postFields["password"] = md5(self::PASSWORD);
        $postFields["responsetype"] = 'xml';

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, self::URL);
        curl_setopt($ch, CURLOPT_POST, 1); …
Run Code Online (Sandbox Code Playgroud)

php arrays properties class

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

如何使用Powershell递归重命名文件夹?

使用PS递归重命名文件是微不足道的(来自Mike Ormond博客的示例变体):

dir *_t*.gif -recurse 
    | foreach { move-item -literal $_ $_.Name.Replace("_thumb[1]", "")}
Run Code Online (Sandbox Code Playgroud)

我正在尝试递归重命名文件夹结构.

用例是我希望能够重命名整个VS.NET解决方案(例如从Foo.Bar到Bar.Foo).要做到这一点,有几个步骤:

  1. 重命名文件夹(例如\ Foo.Bar\Foo.Bar.Model =>\Bar.Foo\Bar.Foo.Model)
  2. 重命名文件(例如Foo.Bar.Model.csproj => Bar.Foo.Model.csproj)
  3. 在文件中查找和替换以更正名称空间更改(例如'namespace Foo.Bar'=>'namespace Bar.Foo')

我目前正在这个过程的第一步.

我找到了这篇文章,讨论了挑战,并提出了一个解决方案,但没有谈到解决方案是什么.

我一直跑进递归墙.如果我让PS使用标志处理递归,则在子项之前重命名父文件夹,并且脚本会引发错误.如果我自己尝试实现递归,我的头脑都会变得很麻烦,而且事情发生了可怕的错误 - 对于我的生活,我无法在递归树的尾部开始重命名.

powershell recursion file-rename

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

在整数溢出的情况下,(unsigned int)*(int)的结果是什么?unsigned还是int?

在整数溢出的情况下,结果是(unsigned int) * (int)什么?unsigned还是int?什么类型确实数组索引运算符(operator[])承担char*:int,unsigned int或其他什么东西?

我正在审核以下功能,突然出现了这个问题.该功能在第17行有一个漏洞.

// Create a character array and initialize it with init[] 
// repeatedly. The size of this character array is specified by 
// w*h.
char *function4(unsigned int w, unsigned int h, char *init)
{
    char *buf;
    int i;

    if (w*h > 4096)
        return (NULL);

    buf = (char *)malloc(4096+1);
    if (!buf)
        return (NULL);

    for (i=0; i<h; i++)
        memcpy(&buf[i*w], init, w);  // line …
Run Code Online (Sandbox Code Playgroud)

c c++ buffer overflow

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

是否有一种与环境无关的方法来检测Javascript主机对象?

我正在写一个Javascript stacktrace库.库需要检测程序员创建的特定对象或函数,还是作为环境的一部分(包括内置对象).主机对象由于其不可预测的行为而变得有点问题,因此我采用环境无关的方式来确定Javascript中的特定对象是否是主机对象(请参阅ECMAScript 3 - 4.3.8).但是,区分主机对象与本机对象和原始值对于其他项目中的程序员很有用,特别是在无浏览器的环境中,所以我想关注它,而不是主机对象在我的库中导致的问题或区分程序员创建的对象.

到目前为止,我只能提出依赖于运行javascript代码的环境的解决方案.例如:

// IE Only: does not implement valueOf() in Host Objects
var isHost = (typeof obj === 'object' && typeof obj.valueOf === 'undefined');

// Firefox Only: Host objects have own constructor
var isHost = (obj.constructor && obj.hasOwnProperty('constructor'));
Run Code Online (Sandbox Code Playgroud)

我注意到jQuery自己的isPlainObject()方法也依赖于环境,而且逻辑相当复杂.

也许这是因为具有宿主对象的野兽的性质(因为它们的行为是由环境定义的),但我想进一步深入研究这是否可能并且想知道是否有人遇到过这个特定的问题之前并准备好了解决方案.

所以.有人知道一个简单的独立于平台的解决方案来测试主机对象吗?如果它在无浏览器环境(如Node或Rhino)中运行,那么它就更好了.

可能的方法(可能不起作用):

  • 测试主机对象的特性似乎是一个失败的原因,因为它们的行为没有规范,但是测试该对象是否是ES3规范的一部分可能是可能的.
  • 我已经尝试使用Object.prototype.toString()给定的非常具体的定义,但结果是不确定的,因为一些环境(即IE)选择为本机和主机对象返回相同的值.
  • 可以通过检查constructor通过原型链的对象的最终值是否真的来实现instanceof Function.

javascript cross-platform ecma262 javascript-objects

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

sql left join + one to many relationship

我有三个表 - node,content_type_product和share_content.有可能是一个1:beetween节点和share_content N的关系.我想每个id只能输出一条记录.如果share_content中有多条记录,我想要最新的记录,即sc.auto_id的最高值

SELECT sc.uid, n.uid, n.nid, sc.message 
  FROM node n 
    LEFT JOIN content_type_product p ON n.nid = p.nid 
    LEFT JOIN share_content sc ON n.nid = sc.nid 
  WHERE n.nid = 40513 
  GROUP BY sc.nid
  ORDER BY sc.auto_id
Run Code Online (Sandbox Code Playgroud)

sql left-join

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

为什么 MacOS 上的 Matplotlib 3.6.0 在显示绘图时会抛出“AttributeError”?

我有以下简单的代码:

import matplotlib.pyplot as plt
x = [1,2,3,4]
y = [34, 56, 78, 21]
plt.plot(x, y)
plt.show()
Run Code Online (Sandbox Code Playgroud)

但将我的 MacBook Pro 更换为 M1 芯片后,出现以下错误:

Traceback (most recent call last):
  File "/Users/freddy/PycharmProjects/TPMetodosNoParametricos/main.py", line 291, in <module>
    plt.plot(x, y)
  File "/Users/freddy/PycharmProjects/TPMetodosNoParametricos/venv/lib/python3.8/site-packages/matplotlib/pyplot.py", line 2728, in plot
    return gca().plot(
  File "/Users/freddy/PycharmProjects/TPMetodosNoParametricos/venv/lib/python3.8/site-packages/matplotlib/pyplot.py", line 2225, in gca
    return gcf().gca()
  File "/Users/freddy/PycharmProjects/TPMetodosNoParametricos/venv/lib/python3.8/site-packages/matplotlib/pyplot.py", line 830, in gcf
    return figure()
  File "/Users/freddy/PycharmProjects/TPMetodosNoParametricos/venv/lib/python3.8/site-packages/matplotlib/_api/deprecation.py", line 454, in wrapper
    return func(*args, **kwargs)
  File "/Users/freddy/PycharmProjects/TPMetodosNoParametricos/venv/lib/python3.8/site-packages/matplotlib/pyplot.py", line 771, in figure
    manager = new_figure_manager(
  File "/Users/freddy/PycharmProjects/TPMetodosNoParametricos/venv/lib/python3.8/site-packages/matplotlib/pyplot.py", …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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