小编Ala*_*ano的帖子

禁用href标签

虽然该链接已禁用,但仍然可以点击.

<a href="/" disabled="disabled">123n</a>
Run Code Online (Sandbox Code Playgroud)

如果它被禁用,我可以让它不可点击吗?我必须使用JavaScript吗?

html javascript

218
推荐指数
16
解决办法
53万
查看次数

尾递归究竟是如何工作的?

我几乎理解尾递归是如何工作的以及它与正常递归之间的区别.我只是不明白为什么它要求堆栈来记住它的返回地址.

// tail recursion
int fac_times (int n, int acc) {
    if (n == 0) return acc;
    else return fac_times(n - 1, acc * n);
}

int factorial (int n) {
    return fac_times (n, 1);
}

// normal recursion
int factorial (int n) {
    if (n == 0) return 1;
    else return n * factorial(n - 1);
}
Run Code Online (Sandbox Code Playgroud)

在尾递归函数中调用函数本身后无事可做,但对我来说没有意义.

c algorithm recursion tail-recursion

120
推荐指数
5
解决办法
2万
查看次数

C#中的System.Threading.Timer似乎无法正常工作.它每3秒运行一次非常快

我有一个计时器对象.我想让它每分钟都运行一次.具体来说,它应该运行一个OnCallBack方法,并在OnCallBack方法运行时变为非活动状态.一旦OnCallBack方法完成,它(a OnCallBack)重新启动计时器.

这就是我现在所拥有的:

private static Timer timer;

private static void Main()
{
    timer = new Timer(_ => OnCallBack(), null, 0, 1000 * 10); //every 10 seconds
    Console.ReadLine();
}

private static void OnCallBack()
{
    timer.Change(Timeout.Infinite, Timeout.Infinite); //stops the timer
    Thread.Sleep(3000); //doing some long operation
    timer.Change(0, 1000 * 10);  //restarts the timer
}
Run Code Online (Sandbox Code Playgroud)

但是,似乎没有用.它每3秒运行一次非常快.即使提高了一段时间(1000*10).它似乎对此视而不见1000 * 10

我做错了什么?

.net c# timer

109
推荐指数
3
解决办法
15万
查看次数

何时在Ruby中使用符号而不是字符串?

如果我的脚本中至少有两个相同字符串的实例,我应该使用符号吗?

ruby symbols

94
推荐指数
4
解决办法
4万
查看次数

如果元素已经存在,则将元素添加到数组中

我有一个Ruby类

class MyClass
  attr_writer :item1, :item2
end

my_array = get_array_of_my_class() #my_array is an array of MyClass
unique_array_of_item1 = []
Run Code Online (Sandbox Code Playgroud)

我要推MyClass#item1unique_array_of_item1,但前提是unique_array_of_item1不包含item1尚未.我知道有一个简单的解决方案:只需迭代my_array并检查是否unique_array_of_item1已包含当前item1.

有没有更有效的解决方案?

ruby

85
推荐指数
4
解决办法
5万
查看次数

querySelectorAll具有多个条件

是否可以使用多个不相关的条件通过querySelectorAll进行搜索?如果有,怎么样?以及如何指定这些是AND还是OR标准?

例如:

如何使用单个querySelectorAll调用查找所有表单 s,p s和图例?可能?

javascript

68
推荐指数
5
解决办法
7万
查看次数

IntelliJ Idea 12 + Android + Scala如今

正如我所建议的,我已经完成了一些文章,描述了如何使IntelliJ Idea和Android和Scala协同工作,但事实证明它们都是在1年或2年前编写的.可能,自那时以来发生了一些变化,现在还有其他解决方案来实现这一目标.具体来说,有一个新的解决方案https://github.com/yareally/android-scala-intellij-no-sbt-plugin,我不知道它是否运作良好.

我有IntelliJ Idea 12,Android SDK,Scala,SBT以及所有其他安装和设置的东西.唯一剩下的就是设置IntelliJ Idea 12以使其与Scala而不是Java一起使用来创建Android应用程序.

请不要关闭这个问题.我看到以前的问题与我的相似,但正如我所说,它们已经过时了.

问题是,我现在该怎么做(2013年5月)

PS我试过Android开发工作室,但由于很多错误,我甚至无法启动它.

ide ubuntu android scala intellij-idea

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

如何将Java源文件的一部分转换为Kotlin?

在我的Kotlin项目中,我有一些Java代码,我想将其转换为Kotlin.将Java文件转换为Kotlin的菜单项被禁用,因为它不是我想要转换的整个文件.

如何将Java代码转换为Kotlin?

java android kotlin

46
推荐指数
8
解决办法
6万
查看次数

Ruby 2中的命名参数

我不完全理解Ruby 2.0中的命名参数是如何工作的.

def test(var1, var2, var3)
  puts "#{var1} #{var2} #{var3}"
end

test(var3:"var3-new", var1: 1111, var2: 2222) #wrong number of arguments (1 for 3) (ArgumentError)
Run Code Online (Sandbox Code Playgroud)

它被视为哈希.这很有趣因为在Ruby 2.0中使用命名参数我必须为它们设置默认值:

def test(var1: "var1", var2: "var2", var3: "var3")
  puts "#{var1} #{var2} #{var3}"
end

test(var3:"var3-new", var1: 1111, var2: 2222) # ok => 1111 2222 var3-new
Run Code Online (Sandbox Code Playgroud)

这与Ruby之前使用默认参数值的行为非常相似:

def test(var1="var1", var2="var2", var3="var3")
  puts "#{var1} #{var2} #{var3}"
end

test(var3:"var3-new", var1: 1111, var2: 2222) # ok but ... {:var3=>"var3-new", :var1=>1111, :var2=>2222} var2 var3
Run Code Online (Sandbox Code Playgroud)

我知道为什么会这样,几乎是如何运作的.

但我只是好奇,如果我使用命名参数,我必须使用参数的默认值吗?

并且,有人可以告诉我这两者之间有什么区别吗? …

ruby ruby-2.0

39
推荐指数
6
解决办法
7万
查看次数

"包含"一个javascript文件到另一个

我有2个单独的JavaScript文件

#1.js
String.prototype.format = ....
String.prototype.capitalize = ....

#2.js

//................
var text = "some text{0}".format(var1)
//................
Run Code Online (Sandbox Code Playgroud)

如何在第二个文件中制作string#formatstring#capitalize提供?

javascript

34
推荐指数
1
解决办法
9万
查看次数