小编sda*_*das的帖子

为什么这个Python ascii字符串不等同于常规字符串?

为什么以下失败?

assert ascii("cat") == "cat" => False
Run Code Online (Sandbox Code Playgroud)

(我想这与Python对字符串的比较/ ASCII函数完成后字符串的编码有关.)

python comparison ascii python-3.x

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

为什么我的三元运算符会导致移位归约冲突?

以下是我的语法:

arithmetic_expression : expression + expression
                      | expression - expression

expression            : constant
                      | ID
                      | arithmetic_expression
                      | ternary

ternary               : expression ? expression : expression
Run Code Online (Sandbox Code Playgroud)

我在这种状态下收到移位减少错误:

state 126

    (19) ternary -> expression QUESTION_MARK expression COLON expression .
    (27) arithmetic_exp -> expression . PLUS expression
    (28) arithmetic_exp -> expression . MINUS expression
    (19) ternary -> expression . QUESTION_MARK expression COLON expression

  ! shift/reduce conflict for PLUS resolved as shift
  ! shift/reduce conflict for MINUS resolved as shift
  ! shift/reduce conflict …
Run Code Online (Sandbox Code Playgroud)

compiler-construction grammar parsing shift-reduce-conflict

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

为什么Python中的正则表达式不能捕获整数?

我正在使用正则表达式来查找未重新组合的数字序列0x.

例如.

0
50505
20201
0012
Run Code Online (Sandbox Code Playgroud)

我的正则表达式是(?:[^(0x)]\d+)(在我的脑海中)转换为匹配任何未开始的数字序列0x.但这不起作用 - 我错误地做出了什么假设?

python regex

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

是否可以在Python中的一个语句中连接列表索引?

我有一个看起来像的列表

alist = [a, b, c, d, e]
Run Code Online (Sandbox Code Playgroud)

我想将它传递给一个看起来像的函数

def callme(a, b, e):
    pass
Run Code Online (Sandbox Code Playgroud)

所以,我想做点什么

callme(*alist[0,1,4])
Run Code Online (Sandbox Code Playgroud)

有没有一个内衬可以实现这一目标?

编辑

我也可以这样做,我想(编辑不要这样做,drewk用更好的枚举方法回答.)

callme(*[a for a in alist if alist.index(a) in [0,1,4]])
Run Code Online (Sandbox Code Playgroud)

python list-comprehension list

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

如何在编辑CSS时自动刷新我的网站?

我正在从emacs中处理HTML/CSS/JavaScript.我的工作流程目前

Make a change -> Alt-Tab to browser -> F5 (refresh) -> Alt Tab to emacs
Run Code Online (Sandbox Code Playgroud)

是否存在可以在更改时自动刷新浏览器的扩展?或者,当我从emacs中点击一个组合键时,可能是一个更好的主意?

html javascript css emacs

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

我是否必须为每种新数据类型定义一个函数?

我正在使用Haskell并声明了Vectoras

data Vector = Vector [Double]
Run Code Online (Sandbox Code Playgroud)

现在,我想声明dot两个向量的乘积

dot :: Vector -> Vector -> Double
dot a b = sum $ a * b -- I already wrote Vector as an instance of Num for *.
Run Code Online (Sandbox Code Playgroud)

但是,问题是,我收到错误

Couldn't match expected type [a0] with actual type Vector
Run Code Online (Sandbox Code Playgroud)

我认为这意味着sum不知道如何操作Vector.解决此问题的最佳方法是什么?

haskell types linear-algebra

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

如何在Parsec的monad中执行IO?

我正在使用Parsec来读取包含FilePaths到其他图像的简单文件.

例如.

img ../images/test.gif
img ../../gifs/image.png
Run Code Online (Sandbox Code Playgroud)

我想一次解析每一行,将图像作为a读取ByteString,并将其包裹在Parsec的monad中.但是,一个看起来像这样的函数:

filename <- getName
contents <- BS.readFile fileName
results  <- decodeImage contents
let image = case results of
    Left err -> error $ show err
    Right img -> img
return results
Run Code Online (Sandbox Code Playgroud)

抛出错误

Couldn't match type `IO' with `ParsecT s0 u0 m0'
Expected type: ParsecT s0 u0 m0 BS.ByteString
  Actual type: IO BS.ByteString
Run Code Online (Sandbox Code Playgroud)

我不太确定monad是如何工作的 - 但似乎它将它包装在错误的monad中?有没有办法让我明白这一点?

io monads haskell parsec

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

为什么我的Java程序在重负载下没有任何错误消息时关闭?

当我加载一个相当大的文件时,我的Java程序崩溃(在Eclipse中).

我已经运行了VisualVM,我的CPU似乎在崩溃之前达到20%的使用率并且我的堆大小似乎不太高.崩溃时运行的线程数约为20.

我收到错误消息 - 但不是每次崩溃都发生.我收到的两条错误消息是:

[太多错误,中止]

#Java Runtime Environment检测到致命错误:

#

#SIGSEGV(0xb)at pc = 0x00007f096d096942,pid = 12102,tid = 139678234564352

#

#JRE版本:6.0_24-b24

#Java VM:OpenJDK 64位服务器VM(20.0-b12混合模式linux-amd64压缩oops)

#衍生物:IcedTea6 1.11.5

#Distribution:Ubuntu 12.04 LTS,包6b24-1.11.5-0ubuntu1~12.04.1

#有问题的框架:

#J java.util.HashMap.put(Ljava/lang/Object; Ljava/lang/Object;)Ljava/lang/Object;

我找到了一个与第二个警告有关的线程,但它似乎暗示了硬件问题.我相信我的错误在软件中,因为它似乎只发生在较大输入文件的特定实例中.

任何帮助表示赞赏.

java crash

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

有没有一种简单的方法来表示Python列表中的base64字母?

字母表(及其索引)可以在这里找到:

http://www.garykessler.net/library/base64.html

有没有比alphabet = ['A','B',...]表示这个字母表更短的方式?

python base64 encoding

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

使用类型约束时无法推断错误

我正在使用Haskell来实现线性代数示例.但是,我在声明magnitude函数时遇到了问题.

我的实现如下:

magnitude :: (Foldable t, Functor t, Floating a) => t a -> a
magnitude = sqrt $ Data.Foldable.foldr1 (+) $ fmap (^2)
Run Code Online (Sandbox Code Playgroud)

这个想法是magnitude接受Vec2D,Vec3D或者Vec4D,并返回其组件的平方和的平方根.

三种矢量类型中的每一种都实现FunctorFoldable.例如,

newtype Vec2D = Vec2D (a, a) deriving (Eq, Show)
instance Functor Vec2D where
    fmap f (Vec2D (x, y)) = Vec2D (f x, f y)
instance Foldable Vec2D where
    foldr f b (Vec2D (x, y)) = f x $ f y …
Run Code Online (Sandbox Code Playgroud)

haskell linear-algebra

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