为什么以下失败?
assert ascii("cat") == "cat" => False
Run Code Online (Sandbox Code Playgroud)
(我想这与Python对字符串的比较/ ASCII函数完成后字符串的编码有关.)
以下是我的语法:
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) 我正在使用正则表达式来查找未重新组合的数字序列0x.
例如.
0
50505
20201
0012
Run Code Online (Sandbox Code Playgroud)
我的正则表达式是(?:[^(0x)]\d+)(在我的脑海中)转换为匹配任何未开始的数字序列0x.但这不起作用 - 我错误地做出了什么假设?
我有一个看起来像的列表
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) 我正在从emacs中处理HTML/CSS/JavaScript.我的工作流程目前
Make a change -> Alt-Tab to browser -> F5 (refresh) -> Alt Tab to emacs
Run Code Online (Sandbox Code Playgroud)
是否存在可以在更改时自动刷新浏览器的扩展?或者,当我从emacs中点击一个组合键时,可能是一个更好的主意?
我正在使用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.解决此问题的最佳方法是什么?
我正在使用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中?有没有办法让我明白这一点?
当我加载一个相当大的文件时,我的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;
我找到了一个与第二个警告有关的线程,但它似乎暗示了硬件问题.我相信我的错误在软件中,因为它似乎只发生在较大输入文件的特定实例中.
任何帮助表示赞赏.
字母表(及其索引)可以在这里找到:
http://www.garykessler.net/library/base64.html
有没有比alphabet = ['A','B',...]表示这个字母表更短的方式?
我正在使用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,并返回其组件的平方和的平方根.
三种矢量类型中的每一种都实现Functor和Foldable.例如,
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)