是否可以从数组中向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中是否可以发送一个数组作为参数数组?
可能重复:
什么是Big O表示法?你用它吗?
大家好,
相当基本的可扩展性符号问题.
我最近收到了一篇关于我的python有序列表实现的帖子的评论"但要注意你的'有序集'实现是插入的O(N)"
很高兴知道,但我不确定这意味着什么.
我看过n(o)o(N),N(o-1)或N(o*o)等符号
上述符号是指什么?
我很熟悉屈服回报价值主要归功于这个问题
但是当它在作业的右侧时,屈服会做什么?
@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)
在研究状态机和协同程序时,我在本博客的代码示例中遇到了这个问题.
感谢对这个问题的精彩回答,我理解如何用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) 有谁知道如何让vim将数学符号的html实体转换为数学字符?
例如:
≠ 变成≠
∴ 变成∴
这是一个带有符号html实体http://barzilai.org/math_sym.htm的表
使用: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
⇐是<=
⇒是=> …
我正在一个函数中运行一个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) 如何找到使用一个单词命令设置的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
$ 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目录.
我正在使用的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类,处理表单数据,这个数据与其他表单数据非常相似,所以我将它重构为它自己的对象,所以它可以被其他类重用.
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的主要部分,因此将其作为成员对象而不是父对象是有意义的.
令我困扰的是,当类间实现功能时,它最终会在实例上有很长的函数列表,我试图将它们更好地分类,以便程序可以理解并反映它正在建模的系统.
期待有关此问题的任何建议
如何在动作脚本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)
但我正在努力从这条线上获得角度:
我需要的是
给定一条线的起点和终点,线的角度是多少.
非常感谢任何和所有的建议
定义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)
python ×4
javascript ×2
vim ×2
big-o ×1
c ×1
class ×1
constructor ×1
descriptor ×1
dirent.h ×1
geometry ×1
math ×1
namespaces ×1
oop ×1
performance ×1
php ×1
scalability ×1
set ×1
unix ×1
yield ×1