程序设计

专业和发烧友程序员的问答


30
如何使用保存实例状态保存活动状态?
我一直在使用Android SDK平台,但尚不清楚如何保存应用程序的状态。因此,对“ Hello,Android”示例进行了一些小的重新设计: package com.android.hello; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroid extends Activity { private TextView mTextView = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mTextView = new TextView(this); if (savedInstanceState == null) { mTextView.setText("Welcome to HelloAndroid!"); …



30
“最少惊讶”和可变默认参数
长时间修改Python的任何人都被以下问题咬伤(或弄成碎片): def foo(a=[]): a.append(5) return a Python新手希望此函数始终返回仅包含一个元素的列表[5]。结果是非常不同的,并且非常令人惊讶(对于新手而言): >>> foo() [5] >>> foo() [5, 5] >>> foo() [5, 5, 5] >>> foo() [5, 5, 5, 5] >>> foo() 我的一位经理曾经第一次遇到此功能,并将其称为该语言的“巨大设计缺陷”。我回答说,这种行为有一个潜在的解释,如果您不了解内部原理,那确实是非常令人困惑和意外的。但是,我无法(对自己)回答以下问题:在函数定义而不是函数执行时绑定默认参数的原因是什么?我怀疑经验丰富的行为是否具有实际用途(谁真正在C中使用了静态变量,却没有滋生bug?) 编辑: 巴泽克举了一个有趣的例子。连同您的大多数评论,特别是Utaal的评论,我进一步阐述了: >>> def a(): ... print("a executed") ... return [] ... >>> >>> def b(x=a()): ... x.append(5) ... print(x) ... a …

30
如何在Git中获取当前的分支名称?
我来自Subversion的背景,当我有一个分支时,我知道我正在使用“这些工作文件指向此分支”进行操作。 但是,使用Git时,我不确定在NetBeans或Notepad ++中编辑文件时,是将文件绑定到主文件还是其他分支。 gitbash 没问题,它告诉我我在做什么。
2591 git  branch  git-branch 


26
如何检查字符串是否在Bash中包含子字符串
我在Bash中有一个字符串: string="My string" 如何测试它是否包含另一个字符串? if [ $string ?? 'foo' ]; then echo "It's there!" fi ??我不知道的运算符在哪里?我是否使用echo和grep? if echo "$string" | grep 'foo'; then echo "It's there!" fi 看起来有点笨拙。
2564 string  bash  shell  substring  sh 

30
如何在JavaScript中将字符串转换为布尔值?
我可以将表示布尔值(例如,“ true”,“ false”)的字符串转换为JavaScript中的固有类型吗? 我有一个隐藏的HTML表单,该表单会根据用户在列表中的选择进行更新。此表单包含一些表示布尔值的字段,并使用内部布尔值动态填充。但是,一旦将此值放入隐藏的输入字段中,它将成为一个字符串。 一旦将字段转换为字符串,我可以确定该字段的布尔值的唯一方法就是依赖其字符串表示形式的文字值。 var myValue = document.myForm.IS_TRUE.value; var isTrueSet = myValue == 'true'; 有没有更好的方法可以做到这一点?
2547 javascript 







By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.