我刚找到两段代码
#if CONSOLE // defined by the console version using
ournamespace.FactoryInitializer;
#endif
和
#if _NET_1_1
log4net.Config.DOMConfigurator.ConfigureAndWatch(new System.IO.FileInfo(s) );
#else
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System
我正在试着写一个蜘蛛纸牌玩家作为Haskell的学习练习。
我的main函数将为每个游戏调用一次playGame函数(使用mapM),传入游戏号码和随机生成器(StdGen)。playGame函数应该返回一个Control.Monad.State monad和一个IO monad,其中包含一个显示游戏画面的String和一个指示游戏是赢是输的Bool。
如何将State单数和IO单数组合在一起以获得返回值?` `playGame的类型声明应该是什么?
playGame :: Int -> StdGen a -> State IO (String, Bool)
State IO (S
我有一些代码在Haskell中工作,我想把它转换成Agda。
这是Haskell代码
main = do
putStrLn "A string"
putStrLn "second string"
输出结果是
A string
second string
我试着把它转换成Agda:
open import Common.IO
main = do
putStrLn "A string"
putStrLn "second string"
但我只是得到了错误消息
'_>>_ needs to be i
作为一个练习,我试图在Haskell实现一个游戏。我似乎还没有掌握IO的工作原理。我读到,为了使getLine返回的IO字符串在纯代码中可用,这样的东西可以工作:
main = do
foo <- getLine
do_something_with foo
我最后得到的代码变得稍微复杂一些,我不明白为什么它不能工作。我的代码如下所示:
game_loop game = do
show game
coords <- getLine
game_loop (add_move game (parse_coords coords))
main = game_loop n
使用C#,我只希望在用户指定的情况下(debug=true标志)打开一个输出文件(用于调试日志)。我尝试了一种在文件打开、书写和结束上附加条件的方法。问题是,由于上下文中不存在调试文件,这将无法编译。
我想这是因为定义被隐藏在一个条件中,但我不知道如何设置它。如果我不使用条件,任何预先存在的日志都会被删除,这是我不想要的。
请问设置这个的正确方法是什么?
这是我的测试代码:
using System;
public class DataProcessor
{
public void process_data(string output_filepath, bool debug=f
这个函数有一个类型问题。
type Store = [(String, Float)]
evalParser :: String -> Store -> Float -- Boring function who returns a Float
programme :: Store -> IO()
programme store = do
putStr "@EvmInteractif:$> "
instruction <- getLine
putStrLn (show instruction)
if (estCom
如果我想把一个二进制数转换成一个32位的二次互补数。在javascript中,正确的方法是什么?
e.g. "10101010001000101110101000101110" -> -1440552402
另一个方向呢?
e.g. -1440552402 -> "10101010001000101110101000101110"
我正在尝试制作一个MapReduce WordCount,它可以获得一篇大文章并对专有名词进行计数。以下是要求:
以大写字母开头,从未在文本中找到过小写字母的长度为2到7个字母排序按降序排列。
看起来像一个典型的WordCount地图推理,但我做不到。如何去掉所有的标点符号?构造映射器和减速器的正确方法是什么?
import sys
import re
for line in sys.stdin:
article_id, text = line.strip().split('\t', 1)
text = re.sub('\W', ' &
我有很多类型的用户模型(admin,normal,.)。我通过循环将像admin?或normal?这样的方法定义为:
class User
TYPES = %w(admin normal)
User::TYPES.each do |roleVal|
define_method(roleVal.to_sym) { self.role == roleVal }
end
end
上面的代码正在工作,例如User.first.admin,但我需要将它称为User.first.admin?。
带问号的语法是什么?如果不可能使用define_method,如何在元编程中创建带有问号的方
我有下面的样板文件,我经常这样做,并且想要删除。它看起来像这样:
type Configured = ReaderT Config
doSomething :: Configured IO Data
doSomething = do
getMeta <- asks getMetaData
meta <- liftIO getMeta
我想把它简化成这样:
doSomething = do
meta <- find getMetaData
不幸的是,我还没有完全了解monad transformers。find的类型是什么?是(Config -> I
我正在尝试使用Haskell和Framework构建一个简单的博客。使用我拥有的Model.hs:
data Post = Post
{ id :: Int
, tipo :: String
, titulo :: String
, conteudo :: String
} deriving (Show, Generic)
我已经使用sqlite创建了一个模式,并填充了一些数据,现在我正在使用Storage.hs中的这个方法来获取这个数据
selectPosts :: Sql.Connection -> IO [M.Post]
selectPost
我不知道怎么产生随机数。
根据的说法,下面是我想要做的事情:
main :: IO ()
main = do
let
g <- getStdGen
bla = randomRs (0, 360) g
也曾尝试过:
main :: IO ()
main = do
let
r <- randomIO
然后:
在输入‘<-’上解析错误,也许这个语句应该在'do‘块中?
我想知道捕捉和处理异常的"Haskell方式“。如下所示,我理解基本语法,但我不确定在这种情况下如何处理类型系统。
下面的代码尝试返回所请求的环境变量的值。显然,如果该变量不在那里,我希望捕获异常并不返回任何内容。
getEnvVar x = do {
var <- getEnv x;
Just var;
} `catch` \ex -> do {
Nothing
}
下面是错误:
Couldn't match expected type `IO a'
against inferred type `Maybe Strin
你好,我需要从用户输入创建一个列表,并在检测到"END“时停止。我在学习Haskell,所以它和IO有点混淆。
我有这样的代码来递归地将输入添加到列表中,当"END“被用户写入时,它就会给出列表。
getList :: [String] -> IO [String]
getList list = do line <- getLine
if line == "END"
then return list
else getLis
我正在尝试创建一个从文本文件中读取数据的菜单。但是我得到了三个错误,这个变量不在作用域内,尽管在IO()的开头有。我没有正确地读取txt.file吗?我创建菜单的方式是错误的吗?
错误
Variable not in scope: spaDatabase :: [Spa]
--line of error for spaDatabase
let updatedDB = (addSpa rid br ar (read st) spaDatabase)
Variable not in scope: spaDB
Variable not in scope: updatedDB :: [Spa]