小编Jon*_*son的帖子

为什么我的变量没有更新?

我已经定义了一个具有初始值的变量.
单步执行代码时:

  • 我可以看到初始值
  • 我的函数改变了值
  • 当我稍后使用该变量时,它具有错误的值

怎么了?

注意:这是针对常见问题的参考问题.如果此处的通用答案对您没有帮助,请发布包含完整实际代码的问题.

c embedded debugging

6
推荐指数
2
解决办法
53
查看次数

为什么我不应该在shell脚本上"打赌公司的未来"?

我正在查看http://tldp.org/LDP/abs/html/why-shell.html并对此感到震惊:

何时不使用shell脚本

...

  • 任务关键型应用程序,您在该应用程序上押注公司的未来

为什么不?

bash shell ksh

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

您对闪存驱动器的体验如何?

EMC正在推广固态闪存驱动器,我的项目正考虑在未来朝着这个方向发展.有没有人有用闪存驱动器替换传统磁盘存储的经验?除了价格,您是否经历过该技术的任何缺点?

hardware emc solid-state-drive hard-drive usb-flash-drive

5
推荐指数
1
解决办法
831
查看次数

有没有办法确定Lua函数的签名?

最近,Lee Baldwin展示了如何编写一个通用的,可变参数memoize函数.我认为返回一个只需要一个参数的简单函数会更好.这是我的全部伪造尝试:

local function memoize(f)
   local cache = {}

   if select('#', ...) == 1 then
      return function (x)
                if cache[x] then
                   return cache[x]
                else
                   local y = f(x)
                   cache[x] = y
                   return y
                end
              end
   else
      return function (...)
                local al = varg_tostring(...)
                if cache[al] then
                   return cache[al]
                else
                   local y = f(...)
                   cache[al] = y
                   return y
                end
             end
   end
end
Run Code Online (Sandbox Code Playgroud)

显然,select('#', ...)在这种情况下失败并且无论如何都不会真正做我想做的事情.有没有办法告诉内部memoize有多少参数f期望?


如果你肯定知道,"不"是一个很好的答案.使用两个单独的memoize函数并不是什么大问题.

generics lua functional-programming

5
推荐指数
1
解决办法
1174
查看次数

如何找到矩阵排序的下界?

考虑排序n x n矩阵的问题(即行和列按升序排列).我想找到这个问题的下限和上限.

我发现它O(n^2 log n)只是对元素进行排序,然后将第一个n元素输出为第一行,将下一个n元素输出为第二行,依此类推.但是我想要证明它也是Omega(n^2 log n).

在尝试较小的示例之后,我想我应该证明,如果我能够使用少于n^2 log(n/e)比较来解决这个问题,那么它将违反log(m!)排序m元素所需的比较的下限.

关于如何证明这一点的任何想法?

sorting matrix asymptotic-complexity lower-bound

5
推荐指数
1
解决办法
454
查看次数

是否可以以TO_CHAR(日期时间)格式插入文字字符?

我想以这种格式选择一些日期:

yyyydDOY
Run Code Online (Sandbox Code Playgroud)

yyyy4位数年份在哪里,是一年DOY中的一天(1-366),d是字面意思"d".这是我试过的:

SQL> select to_char(sysdate, 'YYYYdDDD') from dual;

TO_CHAR(
--------
20130713
Run Code Online (Sandbox Code Playgroud)

显然这都是错的.我想要的结果可以在命令行中找到:

$ date +'%Yd%j'
2013d071
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql

5
推荐指数
1
解决办法
4132
查看次数

是否有相当于 Ruby 的 shell 脚本的 xtrace 选项?

在调试 shell 脚本时,我发现使用xtraceon运行会很有帮助:

-x    xtrace        Print commands  and  parameter
                    assignments when they are exe-
                    cuted, preceded by  the  value
                    of PS4.
Run Code Online (Sandbox Code Playgroud)

例如:

$ set -x
$ s='Say again?'
+ s='Say again?'

# Other commands that might mess with the value of $s

$ echo $s
+ echo Say 'again?'
Say again?
Run Code Online (Sandbox Code Playgroud)

我知道,Ruby有交互式调试程序,如byebug,但我正在寻找的东西,将很容易打开用于记录自动化脚本。

我确实找到了一个xtrace gem,但它与 PHP 格式有关。

我还看到有一个Tracer 类和一个TracePoint 类,它们似乎提供了一种在执行语句时打印语句的方法。但是我还没有找到任何打印变量值的方法(而不仅仅是变量名):

$ ruby -r tracer trace.rb 
#0:/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:Kernel:<:       return gem_original_require(path) …
Run Code Online (Sandbox Code Playgroud)

ruby

5
推荐指数
1
解决办法
314
查看次数

您对Sun CoolThreads技术的体验如何?

我的项目在本财政年度结束之前有一些钱可用,我们正在考虑更换我们已经使用了几年的Sun-Fire-V490服务器.我们正在关注的一个选择是CoolThreads技术.我所知道的是Sun营销,可能不是100%无偏见.有没有人真的玩过其中一个?

我怀疑它对我们没有价值,因为我们不使用线程或虚拟机,我们不能花很多时间来改造代码.我们确实产生了大量的流程,但我怀疑CoolThreads会在那里提供帮助.

(是的,这笔钱最好花在奖金或其他方面,但这不会发生.)

solaris

4
推荐指数
1
解决办法
1102
查看次数

如何在bash中使用不同参数重用命令?

我有两个脚本经常需要使用相同的参数运行:

$ populate.ksh 9241 && check.ksh 9241
Run Code Online (Sandbox Code Playgroud)

当我需要更改参数(在此示例中为9241)时,我可以返回并编辑历史记录中的行.但由于我需要改变两个地方的数字,我有时会打错字.我希望能够只更改一次参数以在两个地方更改它.

bash scripting command-line

4
推荐指数
2
解决办法
1704
查看次数

看门狗定时器在MSP430F5529初始化期间触发

我正在编写一个简单的游戏并尝试在MSP430F5529微控制器上进行测试.我遇到的问题与看门狗定时器有关.

我写的代码会导致器件复位,这表示看门狗定时器问题.我假设我需要在我的主代码的第一行,某种预初始化代码之前停止它.我是否在正确的轨道上说,或者问题可能还在代码的其他部分?

为了更清楚,我的主要代码如下(简单形式):

  1. 停止看门狗定时器.
  2. 初始化电路板(GPIO引脚).
  3. 设置CPU的Vcore电压.
  4. 设置参考晶体(XTAL).
  5. 设置系统时钟.
  6. 启用中断(全局).
  7. 设置实时时钟(RTC).
  8. 设置LCD显示屏.
  9. 初始化按钮.
  10. 在适当的LPM模式下等待用户输入.

就我而言,这段代码应该是正确的.

embedded microcontroller watchdog msp430

4
推荐指数
1
解决办法
721
查看次数