我抓取各种jquery对象放入一个数组,然后以HTML格式吐出.
我正在尝试将jQuery对象转换为文本字符串,以便稍后可以将其作为HTML吐出.
我现在正在使用这种技术:
console.log($myObject.clone().wrap('<div></div>').html());
Run Code Online (Sandbox Code Playgroud)
但是,这似乎只是抓住了我的对象的内容.
例如,如果<h2>My Title</h2>上面的$ myObject 只返回'My Title'(没有H2标签).
我也尝试使用.text()但得到相同的结果.
有没有办法将整个jQuery对象转换为文本字符串?
我需要由供应商的工具生成一堆生成的函数.由于每个功能的内部功能完全相同,我想我可以使用宏来让我的生活更轻松.
这是违规警告:
pasting "<function_name>" and "(" does not give a valid preprocessing token
Run Code Online (Sandbox Code Playgroud)
现在,我定义我的宏如下:
#define HANDLE_FUNCTION(x) \
void <function_prefix>_ ## x ## (void) \
{ \
x ## _Flag = TRUE; \
}
Run Code Online (Sandbox Code Playgroud)
在我的代码中,我写道:
HANDLE_FUNCTION(fn1)
HANDLE_FUNCTION(fn2)
Run Code Online (Sandbox Code Playgroud)
...等等
有关为何发生这种情况的想法?
在Javascript中,如果一个对象有很多属性是函数:
var obj = { foo: function() { ... },
bar: function() { ... },
...
}
Run Code Online (Sandbox Code Playgroud)
那么如何获得这些函数的名称数组呢?也就是阵列
["foo", "bar", ... ]
Run Code Online (Sandbox Code Playgroud)
谢谢.
#define LINK_ENTITY_TO_CLASS(mapClassName,DLLClassName) \
static CEntityFactory<DLLClassName> mapClassName( #mapClassName );
Run Code Online (Sandbox Code Playgroud)
这是来自Alien Swarm mod for Half-Life 2的一个宏,意在用MSVC编译.
我以前从来没有见过#一个宏之前的参数,我不确定这是一个特定的MSVC还是不常见.这是什么意思?
当我想对变量进行字符串化时:是否将变量放在双引号中会有所不同
$string = "$v";
Run Code Online (Sandbox Code Playgroud)
或者我是否将变量与空字符串连接起来
$string = '' . $v;
Run Code Online (Sandbox Code Playgroud)
?
我有一个LOG(fmt, ...)宏使用char buf[]as 时不起作用fmt.
下面的代码是代码的完整(实际上)工作示例.在some_function(),我试图以LOG()两种不同的方式使用,但只有第一种方法有效.
为了解决这个问题,我尝试过#define LOG_STR(x) #x以下方式:
为了字符串化是什么在接收#define LOG应用LOG_STR()到format像这样:LOG_STR(format); 和
申请LOG_STR()直接到这种印刷:LOG(LOG_STR(fmt), 6).
这两种方法都不起作用,事实上我从中得到了段错误.
#include <stdio.h>
#define LOG(format, ...) do { \
fprintf(stderr, "[LOG] " format " [%s]\n", \
##__VA_ARGS__, __func__); \
} while (0)
static void some_function()
{
// This works
LOG("This is a number: %d", 5);
// This does not work
const …Run Code Online (Sandbox Code Playgroud) 我有以下宏来定义一个特殊命名方案后的新函数:
#define CREATE_HOOK_STUB( func ) void ##func_STUB() { /* some code*/ }
Run Code Online (Sandbox Code Playgroud)
但是,预处理器始终连接void,##func_STUB但我显然希望它保留该位置的空白.
我知道我可以在前面添加一些字符串##func_STUB,但这不是我想要的.我该如何解决这个问题?
可能重复:
如何在宏中引用参数?
它如何做到以下几点:
#define MACRO(X) ...
MACRO(a) // should give 'a'
Run Code Online (Sandbox Code Playgroud) Array.toString()向用户显示输出是否正常,或者在未来版本的ActionScript 3或其他编译器中是否可能更改字符串格式?
我需要将定义的常量转换为它们的整数值,所以我想出了这个宏(STR_TO_CONST)来做到这一点......
#define STRFY_VAL(s) #s
#define STRFY_KEY(s) STRFY_VAL(s)
#define STR_TO_CONST(s) atoi(STRFY_KEY(s))
Run Code Online (Sandbox Code Playgroud)
它有效,但我想知道它是否有任何潜在的问题,因为我从来没有遇到过这个宏,尽管我已经搜索了类似的东西.
基本上我"理解"使用其他容器作为键的歧义. - 您是比较参考还是比较其中的值(以及深度).
那你不能专门化一个列表并制作一个自定义比较/哈希运算符吗?正如我在我的应用程序中所知,我希望通过字符串的值(以及当然的相对顺序)来比较字符串列表.
那么我该如何为这些列表编写自定义哈希呢?或者换句话说 - 如何在不导致引入分隔符的情况下对字符串进行字符串化(分隔符可能是字符串的一部分)?
关于这个问题:https://wiki.python.org/moin/DictionaryKeys
在那里直接说不能使用列表;
也就是说,为什么列表不能用作字典键的简单答案是列表不提供有效的哈希方法.当然,显而易见的问题是,"为什么不呢?"
所以我写这个问题,如果有办法让列表可以清除; 以及如何制作一个令人满意的Hash方法.
作为我想要这个的原因的一个例子,请参阅下面的代码:
namelist = sorted(["Jan", "Frank", "Kim"])
commonTrait = newTraits()
traitdict = {}
traitdict[namelist] = commonTrait;
//later I wish to retrieve it:
trait = traitdict[sorted(["Jan", "Frank", "Kim"])]
Run Code Online (Sandbox Code Playgroud)
在这个直接使用中,我想到"列表的排序"并不重要(排序只是在上面的代码中完成,以使列表总是相等,如果它们保持相同的内容).
stringification ×11
macros ×5
c ×4
arrays ×1
c++ ×1
dictionary ×1
future-proof ×1
javascript ×1
jquery ×1
list ×1
perl ×1
python ×1
stringify ×1