标签: built-in

为什么我可以从'eval'调用'print'

代码:

#!/usr/bin/python

src = """
print '!!!'
import os
"""

obj = compile(src, '', 'exec')
eval(obj, {'__builtins__': False})
Run Code Online (Sandbox Code Playgroud)

我得到输出:

!!!
Traceback (most recent call last):
  File "./test.py", line 9, in <module>
    eval(obj, {'__builtins__': False})
  File "", line 3, in <module>

ImportError: __import__ not found
Run Code Online (Sandbox Code Playgroud)

'print'和'import'都是语言结构.为什么'eval'限制使用'import'但不限制'print'?

PS我正在使用python 2.6

更新:问题不是"为什么导入不起作用?" 但"为什么印刷工作?" 是否有一些架构限制或其他?

python printing import eval built-in

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

内置运营商候选人

C++ 03 $ 13.6/1-"[...]如果有一个用户编写的候选人具有与内置候选操作员函数相同的名称和参数类型,则内置操作符函数被隐藏,不包括在内在候选函数集中."

我不确定标准的引用意图.是否可以定义与内置运算符具有相同名称和类型的用户定义候选函数?

例如,下面显然是错误的.

int operator+(int)
Run Code Online (Sandbox Code Playgroud)

那么这句话是什么意思呢?

c++ candidate built-in overload-resolution

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

在linux内核中使用可能/不太可能的返回参数

只是在linux内核中看到这个结构,我无法得到它的意思.

110         return unlikely(sl->sequence != start);
Run Code Online (Sandbox Code Playgroud)

我知道likely/ unlikely是用__builtin_expect这里描述的功能制作的:http: //gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html

您可以使用__builtin_expect为编译器提供分支预测信息.

但是对于无条件分支,什么样的分支预测提示是可能的?

optimization built-in linux-kernel likely-unlikely

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

是否有内置的python来创建多个列表中的元组?

是否有一个内置的python与一组列表的tupler相同,或类似的东西:

def tupler(arg1, *args):
    length = min([len(arg1)]+[len(x) for x in args])
    out = []
    for i in range(length):
        out.append(tuple([x[i] for x in [arg1]+args]))
    return out
Run Code Online (Sandbox Code Playgroud)

所以,例如:

tupler([1,2,3,4],[5,6,7])
Run Code Online (Sandbox Code Playgroud)

收益:

[(1,5),(2,6),(3,7)]
Run Code Online (Sandbox Code Playgroud)

或者也许有适当的pythony方式这样做,还是有类似的发电机???

python transpose built-in list-manipulation

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

可装载的Bash内置

我正在写一个strcmp bash内置.编译很好,但是当我尝试启用它时,我得到:

$ enable -f ./strcmp strcmp
bash: enable: cannot open shared object ./strcmp: ./strcmp: only ET_DYN and ET_EXEC can be loaded
Run Code Online (Sandbox Code Playgroud)

我内置的重要部分:

strcmp_builtin (list)
WORD_LIST *list;

char *strcmp_doc[] = {
    (char *)NULL
};

struct builtin strcmp_struct = {
    "strcmp", /* builtin name */
    strcmp_builtin, /* function implementing the builtin */
    BUILTIN_ENABLED, /* initial flags for builtin */
    strcmp_doc, /* array of long documentation strings. */
    "strcmp 'string 1' 'string 2'", /* usage synopsis; becomes short_doc */
    0 /* reserved …
Run Code Online (Sandbox Code Playgroud)

c bash built-in strcmp

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

列出javascript中的所有内置函数?

在js中是否有一种方法可以列出所有内置函数和参数列表中的一些信息?我无法真正找到任何有关反射的东西来做这种事情

编辑:Math.sin等函数实际上是我要列出的函数,实际上是所有内置函数.

javascript reflection function built-in

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

如何查看默认zsh设置(HISTSIZE,SAVEHIST,...)

如何查看所有zsh设置的当前值?

例如,我目前没有设置HISTSIZE和SAVEHIST,所以env | grep HISTset | grep HIST没有显示任何内容.那么我如何才能看到正在使用的默认值?

default zsh environment-variables built-in

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

使用PHP内置的ltrim()删除单个字符

有一种简单的方法可以ltrim()用来删除匹配的单个实例而不是所有匹配吗?

我循环遍历字符串数组,我想删除第一个,也就是第一个匹配(在这种情况下是元音):

ltrim($value, "aeiouyAEIOUY");
Run Code Online (Sandbox Code Playgroud)

默认行为是字符串aardvarkAardvark将被修剪为"rdvark".我想要结果"ardvark".

我不会以任何方式使用ltrim,但它似乎是最接近的内置PHP函数.这将是很好的,ltrimrtrim有一个可选参数"限制",只是说...... :)

php string function built-in

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

使用别名覆盖内置命令

我试图创建一个覆盖cd命令的别名.这将在"真实"之前和之后执行脚本cd.

这是我到目前为止:

alias cd="echo before; cd $1; echo after"

这会执行echo before,echo after command但它总是更改目录~

我该如何解决这个问题?

cd(){ echo before; cd $1; echo after; }然而我也尝试过它"在之前"重复回声.

bash shell alias function built-in

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

python中all()的行为

>>all([])
True
>>all([[]])
False
>>all([[[]]])
True
>>all([[[[]]]])
True
Run Code Online (Sandbox Code Playgroud)

all()的文档读取它返回True是所有元素都是True /对于一个空列表.为什么所有([[]])评估为False?因为[][[]]的成员,所以它也应该评估为True.

python built-in python-3.x

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