目前我正在阅读道格拉斯·克罗克福德(Douglas Crockford)的书,而且河内功能的塔楼有点过头了.即使将日志记录到控制台,我也无法真正了解正在发生的事情.这是我添加的功能:
var hanoi = function (disc, src, aux, dst) {
console.log(disc);
console.log(src, dst);
if (disc > 0) {
hanoi(disc - 1, src, dst, aux);
console.log('Move disc ' + disc + ' from ' + src + ' to ' + dst);
hanoi(disc - 1, aux, src, dst);
}
}
hanoi(3, 'Src', 'Aux', 'Dst');
Run Code Online (Sandbox Code Playgroud)
这导致以下结果:
3
Src Dst
2
Src Aux
1
Src Dst
0
Src Aux
将光盘1从Src移动到Dst
0
Aux Dst
将光盘2从Src移动到Aux
1
Dst Aux
0
Dst Src
将光盘1从Dst移动到Aux
0 …
我正在制作一个振动切换小部件(事实上,它的第一个版本已经在市场上)但我在Android 2.2的振动设置方面遇到了一些问题.
高达Android 2.1我没有问题,当我想禁用振动我做
am.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,AudioManager.VIBRATE_SETTING_OFF);
am.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,AudioManager.VIBRATE_SETTING_OFF);
Run Code Online (Sandbox Code Playgroud)
和相同,但VIBRATE_SETTING_ON在两条线上打开它,它的工作正常.
但是,由于Android 2.2引入了"仅在静音模式下振动"和"在不在静音模式下振动",我不知道如何使其工作.当vibrate设置为"Always"或"Never"时没有问题,但是一旦用户手动将其设置为其他两个设置之一,应用程序就会开始做一些奇怪的事情.
例如,如果我将它设置为"仅在静音模式下振动"并且通过我的小部件关闭振动,它会关闭,但是当我重新打开它时它会返回"仅在静音模式下"而不是"永远".事实上,没有办法将它设置回"Always",除非你通过Settings - > Sound进行,所以我猜振动模式的组合框正在做一些我不知道的事情.就像它将值存储在其他地方一样,因为即使我手动设置为"Always",当我禁用它并通过小部件再次启用它(使用我之前发布的代码)时,它会一直回到"仅在静音模式下振动" ".
而且,AudioManager类中的"仅在静默模式下"(VIBRATE_SETTING_ONLY_SILENT)中有一个值,但当您将其设置为"仅当不处于静默模式"时,它使用VIBRATE_SETTING_ON,因此无法检测到它(不是我知道,我的意思是).
希望我没有太混乱,但我想提供所有可能的数据.所有这一切......
有谁知道如何正确处理2.2中的振动设置?为了完全禁用或启用振动,是否还有我必须设置或运行的其他变量?还是一种将手机"重置"到已知状态以便工作正常的方法?
重现问题的步骤(或者至少是其中一个问题)是:
通过设置菜单将振动设置为"仅在静音模式下".
通过小部件将振动设置为"从不":
setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);
检查振动设置为"从不"的设置菜单.
通过小部件将振动设置为"始终":
setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_ON);
我只是想知道如何成为一名优秀的技术架构师,或者是什么使开发人员成为一名优秀的架构师。请分享您的见解和文章。
当有很多文本时,我右边有一个带滚动条的div.我尝试使用此代码在页面加载时滚动到div的底部,但我没有太多运气.如何实现?
样式:
div.messageScrollArea{
width: 100%;
max-height: 300px;
overflow: auto;
}
Run Code Online (Sandbox Code Playgroud)
JavaScript代码:
$(document).ready(function () {
var objDiv = $('.messageScrollArea');
if (objDiv.length > 0){
objDiv[0].scrollTop = objDiv[0].scrollHeight;
}
});
Run Code Online (Sandbox Code Playgroud) 看起来他们都可以转储二进制文件的内容,
那有什么区别?
我到处寻找,看起来这很常见,很简单.我有一个来自数据库的字符串,"Ros%E9"将最简单的方法转换为带有重音e的"Rose"是什么?
我已经创建了一个jquery/ajax函数来更新#courses,发送#fos的.val()和.text(),特别是选择的那个,如下所示:
$('#selling #fos').change(function() {
$.post('/ajax/courses',
{
fos_id: $('#selling #fos').val(),
name: $('#selling #fos :selected').text()
},
function(data) {
$('#selling #courses').html(data);
});
});
Run Code Online (Sandbox Code Playgroud)
如何扩展此功能以使其使用"this",允许我在同一页面上多次重复使用此功能?我被抓住是因为你无法使用name: $(this + ' :selected').text().
我想使用全局结果"登录".但它的工作没有全局结果的配置.这是我配置的相关部分:
categoryList.jsp categoryDetail.jsp /WEB-INF/login.jsp
当我启动我的应用程序时,它抛出此异常:
org.xml.sax.SAXParseException:元素类型"package"的内容必须匹配"(结果类型?,拦截器?,default-interceptor-ref?,default-action-ref ?, default-class-ref ?,global - 结果?,全球异常映射?,行动*)".
怎么了?
问候,
我想检测一个段是否只"触摸"多边形或交叉它.
图

解释我的怀疑.如何知道案例A和B之间的区别?请注意,在这两种情况下,红线在两个顶点中穿过多边形,一个在外面触摸,另一个在内部交叉.我有一个段段交叉算法,但我不知道如何正确使用它.任何帮助表示赞赏.
基类包括字段'btnLogin',但其类型(FoodOrder.App_Code.LinkButtonDefault)与控件类型(FoodOrder.App_Code.LinkButtonDefault)不兼容.
ASPX:
<%@ Register Namespace="FoodOrder.App_Code" TagPrefix="ac1" %>
<ac1:LinkButtonDefault ID="btnLogin" runat="server" Text="Prijava" CssClass="gumbek"
onclick="btnLogin_Click" />
Run Code Online (Sandbox Code Playgroud)
LinkButtonDefault:
namespace FoodOrder.App_Code
{
public class LinkButtonDefault : LinkButton
{
protected override void OnLoad(System.EventArgs e)
{
Page.ClientScript.RegisterStartupScript(GetType(), "addClickFunctionScript",
_addClickFunctionScript, true);
string script = String.Format(_addClickScript, ClientID);
Page.ClientScript.RegisterStartupScript(GetType(), "click_" + ClientID,
script, true);
base.OnLoad(e);
}
private const string _addClickScript = "addClickFunction('{0}');";
private const string _addClickFunctionScript =
@" function addClickFunction(id) {{
var b = document.getElementById(id);
if (b && typeof(b.click) == 'undefined') b.click = function() {{
var result = true; …Run Code Online (Sandbox Code Playgroud)