小编JB.*_*JB.的帖子

如何为JSON文件设置标签宽度?

我的.emacs文件中有以下内容.但它不会更改.json文件中的选项卡宽度.

(setq-default indent-tabs-mode nil)
(setq-default tab-width 2)
(setq standard-indent 2)
Run Code Online (Sandbox Code Playgroud)

我在OS X 10.8.4上使用emacs 24.3

emacs json indentation

18
推荐指数
3
解决办法
6246
查看次数

如何使用Perl从路径中提取文件名?

我有一个从数据库填充的Perl变量.它的名字是$path.我需要获取另一个变量$file,它只包含路径名中的文件名.

我试过了:

$file = $path =~ s/.*\///;
Run Code Online (Sandbox Code Playgroud)

我是Perl的新手.

regex string perl operator-precedence

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

如何使用除`=`之外的其他运算符来创建DBIx :: Class连接表?

摘要

我有一张成对的物品表.我想自己加入它,这样我就可以在一个查询中检索该对的两侧.它是有效的SQL(我认为),SQLite引擎实际上接受它,但我无法让DBIx :: Class咬紧牙关.

最小的例子

package Schema::Half;
use parent 'DBIx::Class';
__PACKAGE__->load_components('Core');
__PACKAGE__->table('half');
__PACKAGE__->add_columns(
  whole_id => { data_type => 'INTEGER' },
  half_id  => { data_type => 'CHAR'    },
  data     => { data_type => 'TEXT'    },
 );
__PACKAGE__->has_one(dual => 'Schema::Half', {
  'foreign.whole_id' => 'self.whole_id',
  'foreign.half_id' => 'self.half_id',
  # previous line results in a '='
  # I'd like a '<>'
});

package Schema;
use parent 'DBIx::Class::Schema';
__PACKAGE__->register_class( 'Half', 'Schema::Half' );

package main;
unlink 'join.db';
my $s = Schema->connect('dbi:SQLite:join.db');
$s->deploy;

my $h = $s->resultset('Half'); …
Run Code Online (Sandbox Code Playgroud)

sql perl join dbix-class

14
推荐指数
1
解决办法
3774
查看次数

HQ9 +中的'累加器'是什么?

我只是读一点关于HQ9 +编程语言(http://esolangs.org/wiki/HQ9, http://en.wikipedia.org/wiki/HQ9%2BHTTP://www.cliff.biffle. org/esoterica/hq9plus.html),它告诉我一些所谓的'累加器',它可以递增,但不能被访问.另外,使用+不会操纵结果:

H+H
Run Code Online (Sandbox Code Playgroud)

结果

Hello World
Hello World
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释我这是如何工作的,这是做什么的,如果它甚至有意义吗?谢谢

accumulator

14
推荐指数
5
解决办法
3149
查看次数

在Swift 2中获取SSID

我试图使用此代码获取SSID

import Foundation
import SystemConfiguration.CaptiveNetwork

public class SSID {
    class func getSSID() -> String{
        var currentSSID = ""
        let interfaces = CNCopySupportedInterfaces()
        if interfaces != nil {
            let interfacesArray = interfaces.takeRetainedValue() as [String : AnyObject]
            if interfacesArray.count > 0 {
                let interfaceName = interfacesArray[0] as String
                let unsafeInterfaceData = CNCopyCurrentNetworkInfo(interfaceName)
                if unsafeInterfaceData != nil {
                    let interfaceData = unsafeInterfaceData.takeRetainedValue() as Dictionary!
                    currentSSID = interfaceData[kCNNetworkInfoKeySSID] as! String
                    let ssiddata = NSString(data:interfaceData[kCNNetworkInfoKeySSIDData]! as! NSData, encoding:NSUTF8StringEncoding) as! String
                    // ssid data from hex …
Run Code Online (Sandbox Code Playgroud)

iphone ssid ios swift

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

为什么我不能分配@b || 在Perl中@c到@a?

我想执行一些复杂的@a = @b || @c赋值变换,意图@b是非空(因此在布尔意义上是真的),@c否则.文档明确告诉我,我不能.(事实也是如此!)

"||","//"和"&&"运算符返回最后计算的值(与C的"||"和"&&"不同,返回0或1).

[...]

特别是,这意味着您不应该使用它来在两个聚合之间进行选择以进行分配:

@a = @b || @c;              # this is wrong
@a = scalar(@b) || @c;      # really meant this
@a = @b ? @b : @c;          # this works fine, though
Run Code Online (Sandbox Code Playgroud)

不幸的是,它并没有真正告诉我原因.

我期望会发生的是:

  • @a = 是一个数组赋值,在右侧引入列表上下文.
  • @b || @c 是右侧,在列表上下文中进行评估.
  • ||是C型短路逻辑或.它从左到右进行评估(如果需要)并传播上下文.
  • @b在列表上下文中进行评估.如果为真(非空),则返回.
  • 如果没有,@c也在列表上下文中进行评估,并返回.

显然,我的倒数第二个陈述是错误的.为什么?更重要的是,文档或来源的哪一部分可以解释这种行为?

PS:出于问题的范围,我不遵守文档关于使用三元运算符的建议的原因是我@b实际上是临时的(函数调用结果).

perl grammar

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

Haskell中do块中`<-`的含义

我试图理解Haskell monad,阅读"Monads for the Curious Programmer".我遇到了List Monad的例子:

tossDie=[1,2,3,4,5,6]

toss2Dice = do
    n <- tossDie
    m <- tossDie 
    return (n+m)

main = print toss2Dice
Run Code Online (Sandbox Code Playgroud)

顺便do块产生m为36元素的列表我有点明白-它的每个元素映射n为6个元素的列表,然后串接这些列表.我不明白的是,从6个元素列表到36个元素n的存在是如何改变的m <- tossDie.显然"我们先绑定n然后绑定m"是错误的理解,但是什么是正确的?

我还不完全清楚如何在do块中应用双参数函数.我怀疑这是一个卷曲的情况,但我对它究竟是如何工作有点模糊.

有人可以解释一下上面的两个谜团吗?

monads haskell

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

如何在C99运行时计算可变长度数组的大小?

在C89中,数组的长度在编译时是已知的.但是在C99中,对于可变长度数组,在运行之前,数组的长度可能是未知的.

那怎么计算呢?

为什么不能以相同的方式计算动态分配的数组的长度?

c arrays c99 variable-length-array ansi-c

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

如何理解Control.Arrow的'&&&'运算符的Haskell类型签名

我想换我围绕如何Haskell的头Control.Arrow&&&我的作品,但怕我在迷路的边缘.

具体来说,我很困惑(作为初学者)如何从类型签名中理解其行为

(&&&) :: a b c -> a b c' -> a b (c, c')
Run Code Online (Sandbox Code Playgroud)

import Control.Arrow
(negate &&& (+5)) <$> [1,2,3]
Run Code Online (Sandbox Code Playgroud)

甚至只是

(negate &&& (+5)) 5
Run Code Online (Sandbox Code Playgroud)

例如,第一个参数是"失踪" bc,而第二个是缺少公正c',结果看起来对我来说(c, c'),不是a b (c, c').

&&&在某种类型的背景下,有人可以告诉我如何运作吗?

syntax haskell

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

检查IonCube Loader是否已安装的最佳方法

我正在使用以下代码:

<?php
if(extension_loaded("IonCube Loader")) {     
  // Yes
}
else {
  // No
}
?>
Run Code Online (Sandbox Code Playgroud)

我只是担心这对于启用了IonCube的每台服务器都不起作用.它似乎很标准,但我以前从未需要检查.这是检查的最佳方式,还是我应该使用更好的方法?

php ioncube

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