小编Lai*_*uan的帖子

为什么我的vim不知道我的别名?

我使用了"alias ruby​​ = ruby​​1.9.1",所以我可以用这个来执行我的ruby:

红宝石123.rb

要么

ruby1.9.1 123.rb

但在我的vim中,我使用:!ruby和get/bin/bash:ruby:命令未找到.

我必须使用:!ruby1.9.1

别名如何工作?为什么vim不知道呢?

vim alias

8
推荐指数
1
解决办法
1688
查看次数

如何实现动态大小的哈希表?

我知道哈希表数据结构的基本原理.如果我有一个大小为N的哈希表,我必须尽可能均匀地将我的数据分配到这些N桶中.

但实际上,大多数语言都有自己的内置哈希表类型.当我使用它们时,我不需要事先知道哈希表的大小.我只是把我想要的东西放进去.例如,在Ruby:

h = {}
10000000.times{ |i| h[i]=rand(10000) }
Run Code Online (Sandbox Code Playgroud)

它怎么能这样做?

hashtable data-structures

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

Scala mixin真的比多个C++继承更好吗?

人们说C++继承是邪恶的,所以Java用接口"修复"了这个问题.

但是Scala介绍了traits,它们是......部分实现的接口?这不会带来多重继承吗?

这是否意味着Scala家伙认为多重继承是好的?或者他们有一些我没有注意到的关键差异?

oop scala traits

8
推荐指数
1
解决办法
912
查看次数

如何使用String()字段打印struct?

这段代码:

type A struct {
    t time.Time
}

func main() {
    a := A{time.Now()}
    fmt.Println(a)
    fmt.Println(a.t)
}
Run Code Online (Sandbox Code Playgroud)

打印:

{{63393490800 0 0x206da0}}
2009-11-10 23:00:00 +0000 UTC
Run Code Online (Sandbox Code Playgroud)

A没有实现String(),所以它不是一个fmt.Stringer并打印其原生代表.但是String()对于我想要打印的每个结构实现起来都非常繁琐.更糟糕的是,String()如果我添加或删除某些字段,我必须更新s.是否有更简单的方法来打印结构,其字段String()是?

string struct go

8
推荐指数
1
解决办法
751
查看次数

如何模块化javascript?

我有两个网页(a.php&b.php).它们具有非常相似的逻辑但不同的UI.我写了两个javascript.

它们看起来像:

aUI = {
    displayMessage = function ...
    showDetails = function ...
}
function foo() {
    aUI.displayMessage();
    aUI.showDetails();
    //    and other things about aUI.displayMessage() and aUI.showDetails()...
}
foo();
Run Code Online (Sandbox Code Playgroud)

aUI.displayMessage()与bUI.displayMessage()不同.但是a.js和b.js有相同的foo().

我提取了foo().所以现在我有三个.js:aUI.js,bUI.js和logic.js.

logic.js:

function foo() {
    UI.displayMessage();
    UI.showDetails();
    //other things about UI
}
foo();    
Run Code Online (Sandbox Code Playgroud)

aUI.js和bUI.js:

UI = {
    displayMessage = function ...
    showDetail = function ...
}
Run Code Online (Sandbox Code Playgroud)

a.php怎么知道它应该使用aUI.js?我写了简单的工具:

<script type="text/javascript" src="aUI.js"></script>
<script type="text/javascript" src="logic.js"></script>  
Run Code Online (Sandbox Code Playgroud)

它有效,但似乎并不聪明.我在项目中有重复的命名空间'UI'.

有没有更好的办法?

javascript

7
推荐指数
1
解决办法
1490
查看次数

我安装了libboost但无法链接到它

我安装了libboost-dev通过apt-get,它被放入/usr/lib.

/usr/lib$ ls | grep boost
libboost_filesystem.so.1.46.1
libboost_iostreams.so.1.46.1
libboost_serialization.so.1.46.1
libboost_system.so.1.46.1
libboost_thread.so.1.46.1
libboost_wserialization.so.1.46.1
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试编译使用的源时,boost_thread我仍然遇到错误.

$ g++ tcp_echo.cpp -o tcp_echo -L/usr/lib -llibboost_thread
/usr/bin/ld: cannot find -lboost_thread
collect2: ld returned 1 exit status
$ g++ tcp_echo.cpp -o tcp_echo -L/usr/lib -lboost_thread
/usr/bin/ld: cannot find -lboost_thread
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

什么是正确的安装和链接方式libboost

c++ linker boost

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

将Seq [Option [T]]转换为Seq [T]

我有一个集合Option[T],现在我想从中提取值.但我也希望新系列能够排除Nones.

val foo = List(None, None, Some(1), None, Some(2))
Run Code Online (Sandbox Code Playgroud)

我想到的第一个想法是map,但它有点不直观.

foo.map(o => o.get) // Exception!
foo.map(o => o.getOrElse(null)).filterNot(_ == null) // List(1, 2), works but not elegant
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法来实现这种行为?

null scala

7
推荐指数
1
解决办法
2756
查看次数

泛型类型的隐式转换?

考虑到这个功能:

def justTrue[T, S](seq: S)(implicit ev: S <:< Seq[T]) = true
justTrue(List(1,2,3))
>> true
Run Code Online (Sandbox Code Playgroud)

有用.但是为什么不能将相同的签名用作隐式转换?

implicit class TruthTeller[T, S](seq: S)(implicit ev: S <:< Seq[T]) {
  def justTrue = true
}
List(1,2,3).justTrue
>> error: Cannot prove that List[Int] <:< Seq[T].
Run Code Online (Sandbox Code Playgroud)

隐式转换只是一个函数吗?

scala implicit-conversion

7
推荐指数
1
解决办法
182
查看次数

DirectoryIndex不起作用

我使用apache2来托管一个站点.我的目录中有index.html和index.php.

我打开/etc/apache2/apache2.conf并添加一行:

DirectoryIndex index.php index.html index.htm
Run Code Online (Sandbox Code Playgroud)

然后重启apache2.但是当我打开localhost/~username它时,它会访问index.html.

我环顾四周但找不到问题.我的httpd.conf是空的,我没有.htaccess文件.

设置隐藏在哪里?

编辑:修改后/etc/apache2/mods-availiable/dir.conf,它找到index.php.

但为什么apache2.conf无法覆盖dir.conf?!

indexing apache2

6
推荐指数
1
解决办法
7819
查看次数

CPLUS_INCLUDE_PATH不起作用

我已将环境变量设置CPLUS_INCLUDE_PATHboost.

>echo $CPLUS_INCLUDE_PATH
boost
Run Code Online (Sandbox Code Playgroud)

但它根本不起作用.

>g++ parse_utils.cpp
parse_utils.cpp:1:34: fatal error: boost/lexical_cast.hpp: No such file or directory
Run Code Online (Sandbox Code Playgroud)

.hpp是在这条道路.

>g++ parse_utils.cpp -Iboost 
(work well)
Run Code Online (Sandbox Code Playgroud)

我认为CPLUS_INCLUDE_PATH相当于-I选项?

>g++ --version
g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Run Code Online (Sandbox Code Playgroud)

gcc include

6
推荐指数
1
解决办法
7898
查看次数