小编mhe*_*rzl的帖子

如何在新窗口中打开Chrome开发者工具?

当我尝试使用Chrome开发者工具时,我似乎无法再在新窗口中查看它.

这是一个错误还是真的是更新中的预期更改?

我们如何在新窗口中打开Chrome开发者工具?

这是我正在谈论的截图.

在此输入图像描述

google-chrome google-chrome-devtools

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

在Vim中,如何仅在当前行中搜索和替换?

我看到如何在特定行中搜索和替换,按行号指定,以及如何使用当前行作为对多行向下的引用进行搜索和替换.

如何仅在当前行中搜索和替换?我正在寻找一个简单的解决方案,不涉及链接解决方案指定行号.

vim replace

14
推荐指数
4
解决办法
9227
查看次数

在GHCi中,':module'和'import'之间有什么区别?

在GHCi中,似乎有两种方法可以包含已安装的模块:

Prelude> :module Database.HDBC
Prelude Database.HDBC>
Run Code Online (Sandbox Code Playgroud)

Prelude> import Database.HDBC
Prelude Database.HDBC>
Run Code Online (Sandbox Code Playgroud)

这些之间有什么区别吗?如果没有,为什么重复命令?

我一直在使用import,现在我注意到:moduleReal World Haskell的数据库章节中使用过.

haskell ghci

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

尝试在ubuntu上安装带有sudo的elm时,权限被拒绝

我试图在我的机器上安装elm(Ubuntu 16.04.2 LTS).

$ npm install -g elm按照该链接的说明运行,我收到权限错误.所以我再次尝试使用sudo,即$ sudo npm install -g elm.

这给出了另一个权限错误,即

$ sudo npm install -g elm
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
/usr/local/bin/elm-package -> /usr/local/lib/node_modules/elm/binwrappers/elm-package
/usr/local/bin/elm -> /usr/local/lib/node_modules/elm/binwrappers/elm
/usr/local/bin/elm-make -> /usr/local/lib/node_modules/elm/binwrappers/elm-make
/usr/local/bin/elm-reactor -> /usr/local/lib/node_modules/elm/binwrappers/elm-reactor
/usr/local/bin/elm-repl -> /usr/local/lib/node_modules/elm/binwrappers/elm-repl

> elm@0.18.0 install /usr/local/lib/node_modules/elm
> node install.js

Error extracting linux-x64.tar.gz - Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/elm/Elm-Platform'
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! elm@0.18.0 install: `node install.js`
npm …
Run Code Online (Sandbox Code Playgroud)

ubuntu node.js npm elm

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

在ghci中,如何删除现有的绑定?

我收到一个“绑定影响现有绑定”错误,类似于问题中的错误。

\n\n
Prelude Api.Facility Control.Monad.IO.Class> let t = getBadgesNot 1 (Nothing) (Just 1)\n\n<interactive>:55:5: warning: [-Wname-shadowing]\n    This binding for \xe2\x80\x98t\xe2\x80\x99 shadows the existing binding\n      defined at <interactive>:39:5\n
Run Code Online (Sandbox Code Playgroud)\n\n

我在会话早些时候定义了现有绑定,现在正在尝试重新定义它。有没有办法删除现有的绑定以便我可以重新定义t

\n\n

我注意到在其他情况下 ghci 在重新定义现有绑定时不会出错。例如

\n\n
Prelude> let t = 1\nPrelude> let t = 2\nPrelude> let t = "there"\n
Run Code Online (Sandbox Code Playgroud)\n\n

为什么 ghci 在某些情况下重新定义现有绑定时会出错,而在其他情况下不会出错?

\n

haskell ghci

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

是否可以以无点形式编写模式匹配函数?

考虑以下Haskell代码.

data Keypress = Keypress Int Char

getSeq :: Keypress -> [Char]
getSeq (Keypress i c) = replicate i c
Run Code Online (Sandbox Code Playgroud)

有没有办法以getSeq无点形式写作?

getSeq它的定义与模式匹配非常相似,似乎可能有某种方法可以使用currying或monads或其他东西来避免指定ic参数.但是,由于模式匹配,我认为pointfree.io无法解析无点输出getSeq.

可能吗?

haskell

8
推荐指数
3
解决办法
192
查看次数

堆栈构建错误:属性'ghc822'缺失,at(字符串):1:53

我正在尝试在NixOS上构建我的haskell项目.

运行$ stack build会出现以下错误.

$ stack build
error: attribute ‘ghc822’ missing, at (string):1:53
(use ‘--show-trace’ to show detailed location information)
Run Code Online (Sandbox Code Playgroud)

这个错误意味着什么,我该怎么办?当我$ stack build --show-trace按照建议运行时,我得到以下输出,我也不明白.

$ stack build --show-trace
Invalid option `--show-trace'

Usage: stack build [TARGET] [--dry-run] [--pedantic] [--fast]
                   [--ghc-options OPTIONS] [--flag PACKAGE:[-]FLAG]
                   ([--dependencies-only] | [--only-snapshot] |
                   [--only-dependencies]) ([--file-watch] | [--file-watch-poll])
                   [--exec CMD [ARGS]] [--only-configure] [--trace] [--profile]
                   [--no-strip] [--[no-]library-profiling]
                   [--[no-]executable-profiling] [--[no-]library-stripping]
                   [--[no-]executable-stripping] [--[no-]haddock]
                   [--haddock-arguments HADDOCK_ARGS] [--[no-]open]
                   [--[no-]haddock-deps] [--[no-]haddock-internal]
                   [--[no-]haddock-hyperlink-source] [--[no-]copy-bins]
                   [--[no-]copy-compiler-tool] [--[no-]prefetch]
                   [--[no-]keep-going] [--[no-]force-dirty] [--[no-]test]
                   [--[no-]rerun-tests] [--ta|--test-arguments …
Run Code Online (Sandbox Code Playgroud)

nixos haskell-stack

8
推荐指数
3
解决办法
1320
查看次数

如何在optparse-applicative生成的帮助消息中指定缺失命令的名称?

我正在尝试使用Hackage的optparse-applicative包,并且在如何指定在指定的命令不足的情况下运行程序时显示的帮助消息的某个方面时有一个问题.

以下示例程序说明了我的问题.从命令行运行时,它将两个命令之一作为输入.也就是说,它可以作为$ program com1或运行$ program com2.

module Main where

import Options.Applicative
import Data.Semigroup ((<>))

data Command = Com1
             | Com2

com1 :: Parser Command
com1 = subparser $ command "com1" $ info (pure Com1) fullDesc

com2 :: Parser Command
com2 = subparser $ command "com2" $ info (pure Com2) fullDesc

commandParser :: Parser Command
commandParser = com1
            <|> com2

runCommand :: Command -> IO ()
runCommand Com1 = putStrLn ">>> Com1 <<<"
runCommand Com2 …
Run Code Online (Sandbox Code Playgroud)

haskell optparse-applicative

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

使用android的'Room',`Room.databaseBuilder(...`代码去了哪里?

我正在尝试按照此Room 文档中的描述预填充数据库。

它说

在调用 build() 之前,从 RoomDatabase.Builder 对象调用 createFromAsset() 方法

并显示以下代码:

Room.databaseBuilder(appContext, AppDatabase.class, "Sample.db")
    .createFromAsset("database/myapp.db")
    .build();
Run Code Online (Sandbox Code Playgroud)

我的问题是,这段代码去哪里了?按照Room 入门步骤,我创建了一个数据实体类、一个数据访问对象接口和一个数据库类。该代码应该只在安装或首次启动时运行一次。我不希望它在每次应用程序启动时运行,并且绝对不希望每次创建我的主要活动时运行。

我到底应该在哪里放置Room.databaseBuilder(...初始化数据库的代码?

android android-room

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

使用Cabal运行时,Haskell QuickCheck测试无法正常运行

我正在开发的Cabal包中没有任何意义,我将问题归结为以下示例:

我有以下简单的测试模块:

module Main where
import Test.QuickCheck (quickCheck)
main = quickCheck False
Run Code Online (Sandbox Code Playgroud)

以下Cabal文件位于同一目录中:

name:                project
version:             0.1.0.0
cabal-version:       >= 1.10
build-type:          Simple

executable project
  main-is:             Main.hs
  build-depends:       base, QuickCheck
  default-language:    Haskell2010

test-suite project-test
  type:                exitcode-stdio-1.0
  main-is:             Main.hs
  build-depends:       base, QuickCheck
  default-language:    Haskell2010
Run Code Online (Sandbox Code Playgroud)

目录中唯一的其他文件是dist(由Cabal在构建时创建)和cabal沙箱文件.可执行文件和测试套件都引用Main.hs,因此我希望在运行"cabal run"时获得与运行"cabal test"时相同的测试结果.然而,显然情况并非如此.

"cabal run"给出:

Preprocessing executable 'project' for project-0.1.0.0...
Running project...
*** Failed! Falsifiable (after 1 test):
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为属性测试'quickCheck False'应该失败.正如预期的那样,这与我在ghci中运行main时得到的结果相同.

然而,"阴谋测试"给出了:

Test suite project-test: RUNNING...
Test suite project-test: PASS
Test suite logged to: dist/test/project-0.1.0.0-project-test.log
1 of 1 test …
Run Code Online (Sandbox Code Playgroud)

haskell quickcheck cabal

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