小编Fir*_*row的帖子

是否可以向JavaScript函数发送可变数量的参数?

是否可以从数组中向JavaScript函数发送可变数量的参数?

var arr = ['a','b','c']

var func = function()
{
    // debug 
    alert(arguments.length);
    //
    for(arg in arguments)
        alert(arg);
}

func('a','b','c','d'); // prints 4 which is what I want, then 'a','b','c','d'
func(arr); // prints 1, then 'Array'
Run Code Online (Sandbox Code Playgroud)

我最近写了很多Python,这是一个很好的模式,能够接受varargs并发送它们.例如

def func(*args):
   print len(args)
   for i in args:
       print i

func('a','b','c','d'); // prints 4 which is what I want, then 'a','b','c','d'
func(*arr) // prints 4 which is what I want, then 'a','b','c','d'
Run Code Online (Sandbox Code Playgroud)

在JavaScript中是否可以发送一个数组作为参数数组?

javascript variadic-functions

159
推荐指数
6
解决办法
10万
查看次数

O(N)是什么意思

可能重复:
什么是Big O表示法?你用它吗?

大家好,

相当基本的可扩展性符号问题.

我最近收到了一篇关于我的python有序列表实现的帖子的评论"但要注意你的'有序集'实现是插入的O(N)"

很高兴知道,但我不确定这意味着什么.

我看过n(o)o(N),N(o-1)或N(o*o)等符号

上述符号是指什么?

performance big-o scalability set

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

作为作业的收益是什么?myVar =(收益率)

我很熟悉屈服回报价值主要归功于这个问题

但是当它在作业的右侧时,屈服会做什么?

@coroutine
def protocol(target=None):
   while True:
       c = (yield)

def coroutine(func):
    def start(*args,**kwargs):
        cr = func(*args,**kwargs)
        cr.next()
        return cr 
    return start
Run Code Online (Sandbox Code Playgroud)

在研究状态机和协同程序时,我在本博客的代码示例中遇到了这个问题.

python yield

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

javascript适用于构造函数,抛出"格式错误的形式参数"

感谢对这个问题的精彩回答,我理解如何用varargs调用javascript函数.

现在我正在寻找使用构造函数的应用程序

在这篇文章中找到了一些有趣的信息.

但我的代码是错误的

尝试1:

var mid_parser = new Parser.apply(null, mid_patterns);
Run Code Online (Sandbox Code Playgroud)

错误:

TypeError: Function.prototype.apply called on incompatible [object Object]
Run Code Online (Sandbox Code Playgroud)

尝试2:尝试1:

var mid_parser = new Parser.prototype.apply(null, mid_patterns);
Run Code Online (Sandbox Code Playgroud)

错误:

TypeError: Function.prototype.apply called on incompatible [object Object]
Run Code Online (Sandbox Code Playgroud)

尝试2:

function Parser()
{
    this.comparemanager = new CompareManager(arguments);
}

mid_patterns = [objA,objB,objC]
var mid_parser = new Parser();
Parser.constructor.apply(mid_parser, mid_patterns);
Run Code Online (Sandbox Code Playgroud)

错误:

syntax_model.js:91: SyntaxError: malformed formal parameter
Run Code Online (Sandbox Code Playgroud)

尝试3:

var mid_parser = Parser.apply(null, mid_patterns);
Run Code Online (Sandbox Code Playgroud)

错误:

TypeError: this.init is undefined // init is a function …
Run Code Online (Sandbox Code Playgroud)

javascript constructor variadic-functions

24
推荐指数
3
解决办法
5984
查看次数

vim中的数学符号

有谁知道如何让vim将数学符号的html实体转换为数学字符?

例如:

≠ 变成≠

∴ 变成∴

这是一个带有符号html实体http://barzilai.org/math_sym.htm的表


更新:Solved,bignose解决了这个问题.

使用:Vim的digraphs功能.使用Unicode的字符编码,

请参阅':help digraphs'获取文档

我仍然在寻找一种等宽的Unicode字体,所以它完全呈现,但有额外的空间,它的效果很好.

为了查看数学字符,UTF-8必须是编码和显示这些字符的字体.

我在vim配置文件中添加了以下内容.

创建自定义文件:mathdoc.vim in syntax /

" set the encoding to be utf-8, requires gVim or a terminal capable of
" unicode see ':help Unicode' for details
set encoding=utf-8
" requires a font that has characters for the higher uniocode symbols
set guifont=MS\ Gothic
Run Code Online (Sandbox Code Playgroud)

我将其添加到filetype以将其设置为我自己的自定义扩展名.txtmt

au BufNewFile,BufRead *.txtmt   setf mathdoc
Run Code Online (Sandbox Code Playgroud)

但你也可以打开文件来调用它:

:set ft=mathdoc
Run Code Online (Sandbox Code Playgroud)

digraphs效果很好,因为这里指定的bignose是它的工作原理

在插入模式下:按控制键+ k,然后按:

∴是S*

≠是!=

Σ是+ Z.

≡是= 3

⇐是<=

⇒是=> …

math vim

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

为什么python在函数中重用一个类实例

我正在一个函数中运行一个for循环,该函数创建一个类的实例来测试它们.而不是创建新的类似乎重复使用相同的两个.

有没有关于如何在python方法中处理类和变量的问题?

如何为循环的每次迭代生成一个新对象

class CollectionSetImages(unittest.TestCase):
    def test_keywordset(self):
        """Testing keyword queries by images equality """

        for keyword in ['a','b','c','d','e','f','g']:
            images_by_keyword = Image.keyword_query([keyword])
            collection = Collection([keyword]) 
            class_images = collection.images
            print('colleciton: %s id: %s' % (collection,id(collection)))
            self.assertEqual(images_by_keyword, class_images,)
Run Code Online (Sandbox Code Playgroud)

这是输出

colleciton: <tests.fakeimages._FakeCollection object at 0xb7c656cc> id: 3083228876
colleciton: <tests.fakeimages._FakeCollection object at 0xb7c656ec> id: 3083228908
colleciton: <tests.fakeimages._FakeCollection object at 0xb7c656cc> id: 3083228876
colleciton: <tests.fakeimages._FakeCollection object at 0xb7c656ec> id: 3083228908
colleciton: <tests.fakeimages._FakeCollection object at 0xb7c656cc> id: 3083228876
colleciton: <tests.fakeimages._FakeCollection object at 0xb7c656ec> id: 3083228908
colleciton: <tests.fakeimages._FakeCollection …
Run Code Online (Sandbox Code Playgroud)

python namespaces class

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

vim获取vim foldmarker的当前值

如何找到使用一个单词命令设置的vim变量的值

例如:set foldmarker = {,}

我正在为foldtext()编写一个简单的自定义函数来设置折叠区域的自定义一行摘要

当我用任何折叠标记打开文档而不是我硬编码到函数中时,它的效果很好但看起来很有趣

这是功能

set foldtext=GetCustomFoldText()
function GetCustomFoldText()
    let foldClose = '}'
    let foldTtl = v:foldend - v:foldstart
    return getline(v:foldstart) . ' (+) ' . foldTtl .  ' lines... ' . foldClose
endfunction
Run Code Online (Sandbox Code Playgroud)

这使得:

function myAwsomeFunction()
{
    // awsomeness here
    // awsomeness here
    // awsomeness here
}
Run Code Online (Sandbox Code Playgroud)

折成了这个:

function myAwsomeFunction()
{ (+) 5 lines... }
Run Code Online (Sandbox Code Playgroud)

在我使用不同的foldmarker编辑文档之前,这很棒

我正试图从foldmarker动态确定foldClose

vim

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

为什么C readdir手册页说不在静态分配结果结构上调用free

$ uname -a

Linux crowsnest 2.6.32-28-generic #55-Ubuntu SMP Mon Jan 10 23:42:43 UTC 2011 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

$ man readdir:

描述

readdir()函数返回一个指向dirent结构的指针,该结构表示dirp指向的目录流中的下一个目录条目...

.. [剪断] ...

readdir_r()函数是readdir()的可重入版本...

... [剪断] ...

返回值

成功时,readdir()返回指向dirent结构的指针.(此结构可以静态分配;不要尝试释放(3)它.)如果到达目录流的末尾,则返回NULL并且不更改errno.如果发生错误,则返回NULL并正确设置errno.

readdir_r()函数成功返回0.出错时,它返回正误差编号.如果到达目录流的末尾,则readdir_r()返回0,并在*result中返回NULL.

我对这意味着什么感到困惑,我的这个函数的应用是收集一个动态分配的指向结构的指针数组,其中包含有关目录条目的数据,我想知道我是否可以动态分配dirent结构并设置指向它们的指针.但是这一行接着说结果永远不应该被free释放,所以我想知道我是否应该分配一个单独的dirent结构,它将成为列表的一部分并将其存储在返回的结果中.

我也对上面手册页中"may"的术语感到困惑.这是否意味着它被静态分配,有时它不是.

我很熟悉(含糊地)静态变量在C中的含义,但不确定所有规则和可能的问题.因为我想传递目录中的dirent结构,我宁愿它是动态分配的.这是readdir_r的用途吗?或者将双指针设置为指向另一个静态分配的dirent结构?

而且我不完全确定在这个上下文中readdir_r的重入意味着什么.我对renetrant的理解只来自方案协程,我不确定如何将其应用于读取unix目录.

c unix dirent.h

5
推荐指数
3
解决办法
4649
查看次数

python描述符跨类共享值

我正在使用的python描述符是在其所有者类的所有实例之间共享其值.如何使每个实例的描述符包含其自己的内部值?

class Desc(object):
    def __init__(self, initval=None,name='val'):
        self.val = initval
        self.name = name

    def __get__(self,obj,objtype):
        return self.val

    def __set__(self,obj,val):
        self.val = val

    def __delete__(self,obj):
        pass


class MyClass(object):
    desc = Desc(10,'varx')

if __name__ == "__main__":
    c = MyClass()
    c.desc = 'max'
    d = MyClass()
    d.desc = 'sally'

    print(c.desc)
    print(d.desc)
Run Code Online (Sandbox Code Playgroud)

输出为this,最后一次调用设置两个对象的值:

localhost $ python descriptor_testing.py 
sally
sally
Run Code Online (Sandbox Code Playgroud)

python descriptor

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

单片继承与基于模块化成员的OOP设计

我很难做出设计决定

我有一个python类,处理表单数据,这个数据与其他表单数据非常相似,所以我将它重构为它自己的对象,所以它可以被其他类重用.

delima是天气使这个formprocessor成为类的成员或类的父类.

如果这个术语错了,请纠正我,这是我之间的撕裂:

基于单片继承的类:

class FormProcessor(object):
    def post(self):
        # ... process form data

class PageHandler(RequestHandler,FormProcessor):
    def get(self):
        # show page
Run Code Online (Sandbox Code Playgroud)

或更基于模块化成员的类:

class FormProcessor(object):
    def process(self):
        # ... process form data

class PageHandler(RequestHandler):
    def __init__(self):
        self.processor = FormProcessor()
    def get(self):
        # show page

    def post(self):
        self.processor.process(self.postdata)
Run Code Online (Sandbox Code Playgroud)

我倾向于第二个,但我不确定在可维护性方面可能会产生什么后果.我倾向于它的原因是,我喜欢将处理视为发生的动作,而不是作为PageHandler的主要部分,因此将其作为成员对象而不是父对象是有意义的.

令我困扰的是,当类间实现功能时,它最终会在实例上有很长的函数列表,我试图将它们更好地分类,以便程序可以理解并反映它正在建模的系统.

期待有关此问题的任何建议

python oop

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

Actions Trig线的角度

如何在动作脚本3中找到两点之间的直线角度.

我有一个动态动画箭头的对象,给定代表开始,肘部和终点的点.

我需要线的角度来旋转尖端处的箭头,以准确地指向当前正在绘制的线段

通过检测一个轴是否为0但是需要两个点之间任意直线的角度,我可以轻松获得直角线的角度.

我熟悉获得一条线的点数,例如在47度处绘制100px线:

var length:Number = 100;
var angle:uint = 48
graphics.lineTo(Math.cos(angle) * length, Math.sin(angle) * length);
Run Code Online (Sandbox Code Playgroud)

但我正在努力从这条线上获得角度:

我需要的是

给定一条线的起点和终点,线的角度是多少.

非常感谢任何和所有的建议

geometry actionscript-3

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

检测PHP变量不足:FALSE vs NULL vs unset()vs empty()?

定义PHP中不存在值的最佳方法是什么,或者不足以满足应用程序需求.

$var = NULL,$var = array(),$var = FALSE

什么是最好的测试方法?

isset($var),empty($var),if($var != NULL),if($var)

将变量初始化为它们将会是什么,例如,NULL如果字符串,array()如果它们将是数组,则具有一些好处,因为它们将在它们所处的设置中起作用而没有任何意外结果.

例如,foreach($emptyArray)不会抱怨它不会输出任何东西,而foreach($false)会抱怨错误的变量类型.

但它有点不必要的麻烦,因为有很多不同的做法基本上是相同的.例如.if(empty($var))要么if ($var == NULL)


重复: 在PHP中测试变量存在的最佳方法; isset()显然已被打破

php

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