小编ДМИ*_*КОВ的帖子

通过管道从子shell获取退出代码

如何wget从子shell进程获取退出代码?

所以,主要问题是$?等于0.哪里可以$?=8建立?

$> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "$?"
0
Run Code Online (Sandbox Code Playgroud)

tee实际上它没有用.

$> OUT=$( wget -q "http://budueba.com/net" ); echo "$?"
8
Run Code Online (Sandbox Code Playgroud)

但是${PIPESTATUS}数组(我不确定它与那种情况有关)也不包含该值.

$> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[1]}"    

$> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[0]}"
0

$> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[-1]}"
0
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是 - 如何wget通过tee子shell …

bash pipe exit-code tee subshell

13
推荐指数
2
解决办法
7692
查看次数

将键值对列表转换为哈希表

将List转换为Hashtable的最佳方法是什么?

说我有一个像这样的清单 ("Key",$value,"Key2",$value2)

将它转换为Hashtable的最短语法是什么?

powershell

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

数组的attr_accessor?

我希望使用一个数组作为实例变量attr_accessor.

但不attr_accessor只是为了弦乐?

如何在阵列上使用它?

更新:

例如.如果你想:

object.array = "cat"
object.array = "dog"
pp object.array
=> ["cat", "dog"]
Run Code Online (Sandbox Code Playgroud)

那你必须自己创建这些方法吗?

ruby

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

Haskell如何创建Word8?

我想编写一个简单的函数,它分割一个ByteString[ByteString]使用'\n'作为分隔符.我的尝试:

import Data.ByteString

listize :: ByteString -> [ByteString]
listize xs = Data.ByteString.splitWith (=='\n') xs
Run Code Online (Sandbox Code Playgroud)

这会引发错误,因为它'\n'是一个Char而不是一个Word8,这Data.ByteString.splitWith是期待的.

如何打开这个简单的字符为Word8ByteString会玩?

string haskell bytestring

12
推荐指数
1
解决办法
5565
查看次数

奇怪的"一半甚至"四舍五入用不同的语言

GNU bash,版本4.2.24:

$> printf "%.0f, %.0f\n" 48.5 49.5
48, 50
Run Code Online (Sandbox Code Playgroud)

Ruby 1.8.7

> printf( "%.0f, %.0f\n", 48.5, 49.5 )
48, 50
Run Code Online (Sandbox Code Playgroud)

Perl 5.12.4

$> perl -e 'printf( "%.0f, %.0f\n", 48.5, 49.5 )'
48, 50
Run Code Online (Sandbox Code Playgroud)

gcc 4.5.3:

> printf( "%.0f, %.0f\n", 48.5, 49.5 );
48, 50
Run Code Online (Sandbox Code Playgroud)

GHC,版本7.0.4:

> printf "%.0f, %.0f\n" 48.5 49.5
49, 50
Run Code Online (Sandbox Code Playgroud)

维基百科说,这种舍入被称为圆形的一半甚至是:

这是IEEE 754计算功能和运算符中使用的默认舍入模式.

为什么在C,Perl,Ruby和bash中默认使用这种舍入,而不是在Haskell中?

这是某种传统还是标准?如果它是一个标准,为什么它被那些语言使用而不被Haskell使用?什么是四舍五入到均匀的点?

c ruby bash perl haskell

12
推荐指数
2
解决办法
1424
查看次数

在ghci中命令ls或dir

我是Haskell的新手.

我正在使用ghci.我知道我可以通过命令移动目录:cd <dir>.但我找不到命令列出目录中的文件(如Unix ls或Microsoft dir).

是否可以在GHCI中进行?

谢谢

haskell ghci

12
推荐指数
2
解决办法
5688
查看次数

有效地将ByteString转换为十六进制表示

我需要能够给出SHA512哈希的十六进制表示.也许我只是看起来不够努力,但我可以在Hackage上找到任何功能来做到这一点.所以我写了一个实现使用unfoldrN.这对我的目的来说肯定足够快,但我想知道是否有人知道更快的方法.

我把我的实现作为一个要点放在Github上:https://gist.github.com/2356925.该文件还包括一个基于Numeric.showHexQuickCheck测试和标准基准的简单实现.我目前的简单版本与unfoldrN版本的结果是:

benchmarking simple
mean: 4.677296 ms, lb 4.656011 ms, ub 4.696684 ms, ci 0.950
std dev: 104.2791 us, lb 87.77023 us, ub 128.1627 us, ci 0.950
found 5 outliers among 100 samples (5.0%)
  4 (4.0%) low mild
variance introduced by outliers: 15.195%
variance is moderately inflated by outliers

benchmarking unfoldrN_MS1
mean: 370.0101 us, lb 365.9819 us, ub 373.8619 us, ci 0.950
std dev: 20.17016 us, lb 16.92772 us, ub …
Run Code Online (Sandbox Code Playgroud)

haskell bytestring

11
推荐指数
2
解决办法
1890
查看次数

在swi-prolog中汇总/ 3

我需要统计所有这些X,some_predicate(X)而且真的有很多这样的X.最好的方法是什么?

第一个线索是找到所有,累积到列表并返回它的长度.

countAllStuff( X ) :-
    findall( Y
           , permutation( [1,2,3,4,5,6,7,8,9,10], Y )
           , List
           ),
    length( List, X ).
Run Code Online (Sandbox Code Playgroud)

(permutation/2仅显示存在许多变体的示例,并且收集所有变量的方法很糟糕)

显然,我有堆栈溢出.

?- countAllStuff( X ).
ERROR: Out of global stack
Run Code Online (Sandbox Code Playgroud)

不是,我试图取代findallsetof并没有什么变化.

最后,我创建了aggregate(可点击的)谓词并尝试使用它.

?- aggregate(count, permutation([1,2,3,4], X), Y ).
X = [1, 2, 3, 4],
Y = 1 .

?- aggregate(count, [1,2,3,4], permutation([1,2,3,4], X), Y ).
X = [1, 2, 3, 4],
Y = 1 ; …
Run Code Online (Sandbox Code Playgroud)

prolog swi-prolog

10
推荐指数
3
解决办法
5431
查看次数

由于捆绑程序版本冲突,无法激活rails 3.0.1

所以我跑:

$ gem install rails --version 3.0.1

Successfully installed rails-3.0.1
1 gem installed
Installing ri documentation for rails-3.0.1...
Installing RDoc documentation for rails-3.0.1...
Run Code Online (Sandbox Code Playgroud)

然后我得到错误:

$ rails -v
/usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1637:in `raise_if_conflicts': Unable to activate rails-3.0.1, because bundler-1.1.4 conflicts with bundler (~> 1.0.0) (Gem::LoadError)
from /usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:746:in `activate'
from /usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems.rb:1232:in `gem'
from /usr/local/rvm/gems/ruby-1.9.3-p125@rails3tutorial/bin/rails:18:in `<main>'
from /usr/local/rvm/gems/ruby-1.9.3-p125@rails3tutorial/bin/ruby_noexec_wrapper:14:in `eval'
from /usr/local/rvm/gems/ruby-1.9.3-p125@rails3tutorial/bin/ruby_noexec_wrapper:14:in `<main>'
Run Code Online (Sandbox Code Playgroud)

gem ruby-on-rails bundler

10
推荐指数
2
解决办法
3289
查看次数

C#WebApi单元测试和模拟控制器

我正在研究这个WebAPI项目,我需要为它创建单元测试.项目的基础是使用VS 2010创建的,然后添加了WebApi模块.

控制器的工作方式有点妨碍测试/模拟.我正在使用xUnit和Moq,但绝对没有必要坚持使用这两个.

应用程序使用特定对象来处理数据库访问,因此我有controllerObject及其构造函数需要DataAccessObject

我在模拟控制器/数据访问对时遇到问题.我试图运行的第一个测试是一个GetAllFromDataBase,但我真的不知道如何做到这一点.

编辑:

我做了Cuong Le告诉我的事情,整个现在正在移动,我真的很喜欢它.但我难以接受另一个问题.要访问API,有一个用户名/密码对,我的控制器使用Thread.CurrentPrincipal.Identity.Name; 现在我需要设置这个值才能完全正常工作.

还有valueServiceMock.Setup(service => service.GetValues()).Returns(new [] {"value1","value2"});

似乎不起作用.因为代码试图访问数据库,并且因为它无法获得有效的用户名而无法获取任何内容

c# unit-testing moq xunit asp.net-web-api

10
推荐指数
1
解决办法
2万
查看次数