小编rub*_*ect的帖子

Clojure文件系统可移植性

我想写一个简单的程序来播放声音片段.我想在Windows,Linux和MacOSX上部署它.仍然困扰我的是配置文件的位置和在不同操作系统上具有声音剪辑的文件夹.我是一个Clojure noob.我知道Common Lisp有一个名为CL-FAD的特殊文件系统可移植库.如何在Closure中完成?如何在不同的系统上编写具有不同文件系统约定的可移植Clojure程序?

directory clojure

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

为什么virtualbox在Ubuntu20.04上安装失败

我正在尝试安装 virtualbox。我以前安装过它,它工作正常。今天我尝试添加另一个虚拟机,它开始抱怨 dkms 的问题,所以我尝试清除并安装所有内容,但出现以下故障。

$  sudo apt install virtualbox
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  dkms libgsoap-2.8.91 libqt5opengl5 libsdl1.2debian libvncserver1 virtualbox-dkms virtualbox-qt
Suggested packages:
Run Code Online (Sandbox Code Playgroud)

我无法在不跳过某些输出的情况下提交我的问题

Building initial module for 5.8.0-36-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/virtualbox-dkms.0.crash'
Error! Bad return status for module build on kernel: 5.8.0-36-generic (x86_64)
Consult /var/lib/dkms/virtualbox/6.1.10/build/make.log for more information.
dpkg: error processing package virtualbox-dkms (--configure):
 installed virtualbox-dkms package post-installation script subprocess returned …
Run Code Online (Sandbox Code Playgroud)

ubuntu virtualbox dkms virtualbox-guest-additions ubuntu-20.10

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

Rails 4 中范围的数量

我知道如何检查 lambda 的数量,但我不知道如何从范围中提取它。

这个问题是4年前提出的:

https://groups.google.com/forum/#!topic/rubyonrails-core/7Cs0T34mj8c
Run Code Online (Sandbox Code Playgroud)

所有,在对元搜索 gem 进行更改的过程中,我遇到了 ActiveRecord 中实现范围的方式问题。为了在搜索中包含范围,我们将范围的名称传递给搜索方法,如下所示{:name_of_my_scope => 1}:元搜索自动将"1"作为参数传递给范围。这会导致ArgumentErrorlambda 作用域不带参数。

我的目的是在调用之前检查作用域的数量,并"1"在作用域不带参数的情况下删除该作用域。我的问题是,scope 的实现将scope_options 包装在将*args 传递给块的lambda 中(active_record/named_scope.rb: 106)。这会导致对 arity 的调用始终返回 -1,无论作用域定义所需的实际参数数量如何。

是否有不同的方法来实现范围,允许从范围定义中公开数量?

前任。

class Post < ActiveRecord::Base  
     scope :today, lambda {where(:created_at => (Time.new.beginning_of_day...(Time.new.end_of_day)) }  
  end 

irb> Post.today.arity # => -1
Run Code Online (Sandbox Code Playgroud)

它在调用之前请求帮助来查找作用域的数量。

找到解决办法了吗?

ruby ruby-on-rails ruby-on-rails-4 rails-activerecord

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

如何在 Windows 上设置 Gtk 以进行 Haskell 开发?

到目前为止,我已经从https://www.haskell.org/platform/windows.html安装了完整版本

最初,pacman 不起作用,所以我确实以管理员身份运行 mingw64.exe

C:\Program Files\Haskell Platform\8.2.1\msys
Run Code Online (Sandbox Code Playgroud)

我已经更新了运行 pacman -Syu 的 msys2 系统并安装了所有 Gtk 库。我正在尝试使用堆栈编译https://github.com/mmsbrggr/hsudoku。我已经解决了丢失的 dll 错误,现在我得到以下信息:

haskell-gi-base-0.20.4:配置

-- 在构建包 haskell-gi-base-0.20.4 时使用:C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_Z6RU0evB_1.24.2.0_ghc-8.0.2.exe --builddir=.stack -work\dist\ca59d0ab configure --with-ghc=C:\Users\Jacek\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2\bin\ghc.EXE --with-ghc-pkg =C:\Users\Jacek\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2\bin\ghc-pkg.EXE --user --package-db=clear --package-db=global --package-db=C:\sr\snapshots\7eb65607\pkgdb --libdir=C:\sr\snapshots\7eb65607\lib --bindir=C:\sr\snapshots\7eb65607\bin --datadir=C: \sr\snapshots\7eb65607\share --libexecdir=C:\sr\snapshots\7eb65607\libexec --sysconfdir=C:\sr\snapshots\7eb65607\etc --docdir=C:\sr\snapshots\7eb65607\doc \haskell-gi-base-0.20.4 --htmldir=C:\sr\snapshots\7eb65607\doc\haskell-gi-base-0.20.4 --haddockdir=C:\sr\snapshots\7eb65607\doc\haskell-gi-base-0.20.4 --dependency=base=base-4.9.1.0 --dependency=bytestring=bytestring-0.10.8.1 --dependency=containers=containers-0.5。 7.1 --dependency=text=text-1.2.2.2-9UQZjEJZQFSGMffj1Z5g00 "--extra-include-dirs=C:\Program Files\Haskell Platform\8.2.1\msys\mingw64\include" "--extra-include-dirs =C:\Program Files\Haskell Platform\8.2.1\msys\mingw64\include\GLIB-2.0" --extra-include-dirs=C:\Users\Jacek\AppData\Local\Programs\stack\x86_64-windows \msys2-20150512\mingw64\include --extra-include-dirs=C:\Users\Jacek\Downloads\glib-2.54.1 "--extra-lib-dirs=C:\Program Files\Haskell Platform\8.2. 1\msys\mingw64\bin" "--extra-lib-dirs=C:\Program Files\Haskell Platform\8.2.1\msys\usr\bin" --extra-lib-dirs=C:\Users\Jacek\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\bin --extra-lib-dirs=C:\Users\Jacek\AppData\Local\Programs\stack\x86_64-windows \msys2-20150512\mingw64\lib 进程退出,代码为:ExitFailure 1 日志已写入:C:\Users\Jacek\Documents\ExperimentingHaskell\hsudoku.stack-work\logs\haskell-gi-base-0.20.4。日志

Configuring haskell-gi-base-0.20.4...
Cabal-simple_Z6RU0evB_1.24.2.0_ghc-8.0.2.exe: Missing dependencies on …
Run Code Online (Sandbox Code Playgroud)

gtk haskell msys2

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

如何在具有不同输出类型的两个相同Haskell函数中删除代码重复?

我继续尝试使用Haskell和GUI https://github.com/bigos/cairo-example/blob/1c4448a936031b0e5b66b77027be975d040df01b/src/Main.hs ,我遇到了另一个问题.

我有两个相同的函数,具有不同的结果类型:

getWidgetSize :: Gtk.DrawingArea -> Render (Int, Int)
getWidgetSize widget = do
  width'  <- fromIntegral <$> Gtk.widgetGetAllocatedWidth widget
  height' <- fromIntegral <$> Gtk.widgetGetAllocatedHeight widget
  return (width', height')

getWidgetSize2 :: Gtk.DrawingArea -> IO (Int, Int)
getWidgetSize2 widget = do
  width'  <- fromIntegral <$> Gtk.widgetGetAllocatedWidth widget
  height' <- fromIntegral <$> Gtk.widgetGetAllocatedHeight widget
  return (width', height')
Run Code Online (Sandbox Code Playgroud)

一个用于此功能

updateCanvas :: Gtk.DrawingArea -> Model -> Render ()
Run Code Online (Sandbox Code Playgroud)

另一个用在主函数中.

是否可以删除代码重复?

根据Vora的建议,我使用了以下内容:

getWidgetSize :: Gtk.DrawingArea -> IO (Int, Int)
getWidgetSize widget = do …
Run Code Online (Sandbox Code Playgroud)

haskell

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

有没有用于防护分析的工具?

我是一个Haskell noob,在阅读Haskell Road中的Implications时,我开始关注拼图.

verdict :: Bool -> Bool -> (Bool, String)
verdict p q | not result  = (False, "LIAR")
            | result && p = (True,  "telling the truth")
            | result      = (True,  "innocent unless proven guilty")
            | otherwise   = (False, "we shouldn't get here")
  where result = (not p) || q
-- map (\x -> verdict (fst x == 1) (snd x == 1)) [(1,1),(1,0),(0,1),(0,0)]
Run Code Online (Sandbox Code Playgroud)

是否有工具可以警告我其他类似或其他类似的逻辑错误?

logic haskell

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

如何将 Vala 编译为 C 并调用另一个文件中最初用 C 编写的函数并全部编译?

似乎没有关于与最初用 C 编写的 C 源代码的互操作的文档。

或者,从 vala 代码创建一个库并从我的 C 程序调用它是否更好?

如何在 Vala 中导入其他文件?

似乎回答了我的问题,我会在几个小时后查看。

vala

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

为什么Haskell列表理解比循环更快

我是Haskell noob.在尝试循环和列表推导时,我发现列表理解比循环更快.Lisp理解使用取幂并且仍然更快.为什么?

lg :: Int -> Int -> Int -> Int
lg s e a =
  if s < e
  then
  if even s
  then
    lg (s+1) e (a+1)
  else
    lg (s+1) e (a*2)
  else
    a

loopGrowth :: Int -> Int
loopGrowth x = lg 0 x 0

calcGrowth :: Int -> Int
calcGrowth y =
  last (take (y+1) (tail (join [ [2 ^ x - 2 ,2 ^ x - 1] | x <- [1..50] ])))
Run Code Online (Sandbox Code Playgroud)

haskell

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

Haskell - 如何删除尾随空格

我想将[1,2,3]转换为"1 2 3".此刻我得到"1 2 3".我使用导入条带功能

import Data.Text (strip)
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

ar2str ar = (concatMap (\x -> (show x)++" " ) ar)
Run Code Online (Sandbox Code Playgroud)

如何修改ar2str以使其与strip一起使用?

找到了

http://rosettacode.org/wiki/Strip_whitespace_from_a_string/Top_and_tail#Haskell

罗塞塔代码救援:-)

haskell

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

为什么enum不能像文档中所说的那样工作?

我有一个带有该枚举的模型:

  enum food: { not_food: 0, is_food: 1 }
Run Code Online (Sandbox Code Playgroud)

但是,它似乎没有按预期工作:

2.4.4 :007 > Analyte.where( food: 'is_food').count
   (3.0ms)  SELECT COUNT(*) FROM "ANALYTES" WHERE "ANALYTES"."FOOD" = :a1  [["food", 0]]
 => 12709 
2.4.4 :008 > Analyte.where( food: 'not_food').count
   (3.1ms)  SELECT COUNT(*) FROM "ANALYTES" WHERE "ANALYTES"."FOOD" = :a1  [["food", 0]]
 => 12709 
Run Code Online (Sandbox Code Playgroud)

请注意,在两种情况下,零都是查询的参数。

我也看到了这个https://medium.com/@elcortez/the-many-issues-with-rails-enum-36cfb2bec620 和这个 https://github.com/rails/rails/issues/32618

我应该在项目中使用枚举还是值得?如果重要的话,我会使用Rails 4.2。

食物在数据库中的定义如下:

#  food              :integer          default(0)
Run Code Online (Sandbox Code Playgroud)

enums ruby-on-rails

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