Java有Javadoc,Python有docstring.JavaScript中有类似的东西吗?
我是编程新手,我一直在检查很多游戏编码教程.我注意到,在大多数情况下,他们使用自定义事件来触发方法,而不是直接调用方法.
这种做法背后的原因是什么?为什么他们不只是调用方法?
例如:
我们有两个对象:A和B.A有方法A.methodA()即B需要时使用的X条件被触发.
为何实施:
B将事件调度到A告诉A运行A.methodA()
代替:
B使用A.methodA()
我有一个活动一次托管一个片段,并在两个片段之间交换.片段A使用按钮启动片段B,片段B使用按钮或后退按钮启动片段A.
使用自定义按钮从Fragment A到B以及从B到A时,一切正常.问题是当我使用后退按钮从片段B转到A(片段A将事务添加到后栈)时.
当在Fragment B上按下后退按钮时,我得到了几个"找不到类android.transition.Transition"异常和"无法解决check-cast 1217警告,如每个警告11,不会导致程序崩溃:

我不知道这意味着什么,或者如何解决这个问题.
这就是片段A如何开始片段B:
mButtonNextFragment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fm = getActivity().getSupportFragmentManager();
Fragment fragment = FragmentTwo.newInstance(mCount);
fragment.setTargetFragment(FragmentOne.this, 0);
fm.beginTransaction()
.addToBackStack("transaction1")
.replace(R.id.layout_fragmentContainer, fragment)
.commit();
}
});
Run Code Online (Sandbox Code Playgroud)
这就是片段B开始片段A的方式:
mButtonPrevFragment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fm = getActivity().getSupportFragmentManager();
fm.beginTransaction()
.replace(R.id.layout_fragmentContainer, getTargetFragment())
.commit();
}
});
Run Code Online (Sandbox Code Playgroud)
这就是主机活动如何开始片段A:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment_container);
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.layout_fragmentContainer);
if (fragment == null) {
fragment = new FragmentOne();
fm.beginTransaction() …Run Code Online (Sandbox Code Playgroud) 我正在寻找将字符串表示的音符作为输入的算法,并将和弦的名称作为输出.
例如:
chordName("C", "E", "G")
>>> "C major"
chordName("C", "E", "G", "B")
>>> "C major 7"
chordName("A", "C", "E")
>>> "A minor"
Run Code Online (Sandbox Code Playgroud) 我正在Mac OSX Snow Leopard系统中通过终端运行R.
我试图使用时收到此错误消息View():
.External2(C_dataviewer,x,title)中的错误:无效设备此外:警告消息:1:在视图中(a):Xlib不支持的语言环境:某些X操作将在C语言环境中运行2:在视图(a)中: X无法设置区域设置修改器3:在视图中(a):无法创建字体集 - -fixed-medium-r- - - -120- - - - - -
尝试使用时出现此错误消息edit():
.External2中的错误(C_dataentry,datalist,modes):设备无效此外:警告消息:1:在edit.data.frame(a)中:Xlib不支持的语言环境:某些X操作将在C语言环境中运行2:在编辑中.data.frame(a):X无法设置语言环境修饰符3:在edit.data.frame(a)中:无法创建fontset - -fixed-medium-r- - - -120- - - - - -
我无法找到有关此特定问题的信息.我该怎么做才能解决这个问题?
sessionInfo() 收益:
R version 3.0.1 (2013-05-16)
Platform: x86_64-apple-darwin10.8.0 (64-bit)
locale:
[1] C/UTF-8/C/C/C/C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种为嵌套函数生成文档的方法,在这种情况下为 pydoc。这可以用 pydoc 实现吗?用其他工具可以吗?
例如:
"""
Module docstring.
"""
def foo(x):
"""
Foo does something.
"""
...
def bar(y):
"""
Bar does something
"""
...
Run Code Online (Sandbox Code Playgroud)
使用以下命令生成 pydoc: pydoc -w -filename- 将为模块和 foo() 生成 pydoc,但不会为 bar() 生成 pydoc。
通常这没问题;问题是我正在尝试建立一个用于教育目的的库,记录闭包内部发生的事情特别有帮助。我想找到一种方法来记录它,而不必将内部函数暴露给全局范围。
我正在扫描这段代码,我想了解它是如何工作的.
有两种可能的树:一个用于空集的树,以及一个由整数和两个子树组成的树.不变量:对于每个节点,右侧的节点包含高于父节点的整数值,而左侧节点包含低于父节点的整数值.
这是代码:
abstract class IntSet{
def incl(x: Int): IntSet // include element x in the IntSet
def contains(x: Int): Boolean // is x an element of the set?
def union(other: IntSet): IntSet // union of this and other set
}
object Empty extends IntSet{
def contains(x: Int): Boolean = false
def incl(x:Int): IntSet = new NonEmpty(x, Empty, Empty)
override def toString = "."
def union(other:IntSet): IntSet = other
}
class NonEmpty(elem: Int, left: IntSet, right: IntSet) extends IntSet{
def …Run Code Online (Sandbox Code Playgroud) Python有许多内置函数,len()是其中之一.
返回对象的长度(项目数).参数可以是序列(例如字符串,字节,元组,列表或范围)或集合(例如字典,集合或冻结集).
如果集合和序列是对象,它们可以保存一个length可以在每次更改时更新的属性.访问此属性将是检索集合长度的快速方法.
另一种方法是迭代集合并计算动态项目的数量.
怎么len()计算长度?通过迭代或属性访问?其中一个,没有,两个,其他方法?
为什么JavaScript在这个计算中要快得多?
我用四种简单的因子算法进行了一些测试:递归,尾递归,while循环和for循环.我用R,Python和Javascript进行了测试.
我测量了每个算法计算150个阶乘,5000次的时间.对于使用的RI system.time(replicate()).对于我使用的Python time.clock(),resource模块和timeit模块.对于JavaScript我用console.time(), Date().getMilliseconds()以及Date().getTime(),通过使用终端节点运行脚本.
这从来没有打算比较语言之间的运行时间,但是看看哪种形式(递归,尾递归,for循环或while循环)对于我正在学习的语言来说更快.然而,JavaScript算法的性能引起了我的注意.
您可以在此处查看4种不同的因子算法和测量实现:
在以下示例中,f代表循环,w代表while循环.
R的结果是:
Running time of different factorial algorithm implementations, in seconds.
Compute 150 factorial 5000 times:
factorialRecursive()
user system elapsed
0.044 0.001 0.045
factorialTailRecursive()
user system elapsed
3.409 0.012 3.429
factorialIterW()
user system elapsed
2.481 0.006 2.488
factorialIterF()
user system elapsed
0.868 0.002 0.874
Run Code Online (Sandbox Code Playgroud)
Python的结果是:
Running time of different factorial algorithm implementations.
Uses timeit …Run Code Online (Sandbox Code Playgroud) 每次我们对列表进行 cons 和解构以及类似的操作时,我们都会创建原始列表的副本。对于非常大的集合,这可能会成为性能问题。
据我了解,为了改善这种情况,一些编程语言将列表实现为可以更有效地复制的数据结构。SML中有类似的东西吗?也许在语言定义中,或者作为依赖于实现的功能?
如果没有这样的数据结构,数组和可变性是在大型列表上优化的一种模式吗?只要状态对于函数来说是局部的,函数仍然可以被认为是纯函数吗?
SML 是多范式的,但惯用的 SML 也是功能优先的,因此“具有高效复制的列表”和“可变数组”方法都应该有意义,具体取决于核心语言提供的功能。
对于非常大的集合,是否存在比普通单链表更有效的不可变数据结构?如果没有,是否有一个原生的纯函数式数据结构可以优化这个场景?或者应该在内部使用可变性和数组?
python ×3
javascript ×2
r ×2
algorithm ×1
android ×1
apache-flex ×1
comments ×1
document ×1
events ×1
exception ×1
flash ×1
java ×1
list ×1
node.js ×1
oop ×1
performance ×1
persistence ×1
scala ×1
sml ×1