当我尝试使用Chrome开发者工具时,我似乎无法再在新窗口中查看它.
这是一个错误还是真的是更新中的预期更改?
我们如何在新窗口中打开Chrome开发者工具?
这是我正在谈论的截图.

我看到如何在特定行中搜索和替换,按行号指定,以及如何使用当前行作为对多行向下的引用进行搜索和替换.
如何仅在当前行中搜索和替换?我正在寻找一个简单的解决方案,不涉及链接解决方案指定行号.
在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,现在我注意到:module在Real World Haskell的数据库章节中使用过.
我试图在我的机器上安装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) 我收到一个“绑定影响现有绑定”错误,类似于此问题中的错误。
\n\nPrelude 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\nRun Code Online (Sandbox Code Playgroud)\n\n我在会话早些时候定义了现有绑定,现在正在尝试重新定义它。有没有办法删除现有的绑定以便我可以重新定义t?
我注意到在其他情况下 ghci 在重新定义现有绑定时不会出错。例如
\n\nPrelude> let t = 1\nPrelude> let t = 2\nPrelude> let t = "there"\nRun Code Online (Sandbox Code Playgroud)\n\n为什么 ghci 在某些情况下重新定义现有绑定时会出错,而在其他情况下不会出错?
\n考虑以下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或其他东西来避免指定i和c参数.但是,由于模式匹配,我认为pointfree.io无法解析无点输出getSeq.
可能吗?
我正在尝试在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) 我正在尝试使用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) 我正在尝试按照此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(...初始化数据库的代码?
我正在开发的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)