我在Haskell的上阅读了IO monad的更深层次的工作原理,我偶然发现了这段代码
main = do a <- ask "What is your name?"
b <- ask "How old are you?"
return ()
ask s = do putStr s
readLn
这对我来说是有道理的。ask函数应该打印出指定给它的字符串,并返回可以传递给a或b的行。
但是,将此代码加载到GHCi中会出现问题。告诉我没有从ask的使用中读取的实例,并且我可以导入GHC.Read。这不应该是必要的。
我需要更改文件中的文本,并将整个文本文件输出到已更改的文本,并将其打印到屏幕上。
这就是我得到的:
sed 's/123/456/g' number > number123
这会将文本和输出更改为新文件,但不会打印到终端。
如何获得它,以便它将更改后的文本文件打印到该命令中的终端。
任何帮助都是非常感谢的。
由于某些原因,我机器上的Haskell从未从任何getLine调用中返回。例如,我试着运行下面的代码,直接从Learn You a Haskell For Great Good:
main = do
putStrLn "Hello, what's your name?"
name <- getLine
putStrLn ("Hey " ++ name ++ ", you rock!")
当我运行它时,第一行被打印出来,当我输入一个名字时,我看到了我的输入,但是当我按回车键时,程序只会在那里阻塞
目标是将Haskell中的Nim游戏编码为学校作业。我是Haskell的新手,当我尝试读取输入时,会遇到奇怪的行为。
目标是读取两个整数。它没有打印第一条消息,然后提示,然后转到第二条消息,而只是打印了两条消息,我无法给出正确的输入。这里出了什么问题?
type Board = [Int] -- The board
type Heap = Int -- id of heap
type Turn = (Int, Int) -- heap and number of stars to remove
readInt :: String -> IO Int
read
我试图创建一个程序来比较运行各种haskell脚本所需的时间,这些脚本稍后将用于创建图形并显示在GUI中。我尝试过使用Haskell库创建said GUI,但我运气不佳,特别是因为我很难找到最新的Windows GUI库。我试图使用Java来获得这些结果,但要么返回错误,要么根本没有结果。
我构建了一个很小的例子来大致展示我目前正在做的事情:
import java.io.*;
public class TestExec {
public static void main(String[] args) {
try {
Process p
我试图在csv文件上写一个字段,然后在控制台上打印它,但是当在写完它之后打印第一行时,它会显示一个数字10 (我没有添加到这个字段中。然后,当我只是读取文件并打印它时,第二行显示了我在第一次尝试中应该写的内容,但是显示了\ufeff
这是代码
from csv import DictReader
with open('loopbacks2.csv', mode='r+', encoding='utf-8-sig') as csv_file:
client_details = DictReader(csv_file)
for cl
我在Haskell中实现了withFile:
withFile' :: FilePath -> IOMode -> (Handle -> IO a) -> IO a
withFile' path iomode f = do
handle <- openFile path iomode
result <- f handle
hClose handle
return result
当我运行由main提供的时,它打印出了"girlfriend.txt“的内容,就像预期的那样:
import System.IO
main
小写s的unicode是U+0073,说它是C和Java中的\u0073。
给定一个文件:a.txt,包含:
http://www.example.com/\u0073
让我们用Java阅读这篇文章,取消\,看看我们得到了什么:
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import org.apache.commons.lang3.StringEscapeUtils;
public class Main {
public static void main(Str
我正在处理文本文件,我想逐行读取一个文本文件,如果以#开头,我想在它之前写*例如,我有这个文件:
hello
world
#house
tree
我希望它是:
hello
world
*#house
tree
如果我不介意这样做的话:*房子,或者所有的行,去做:
hello
world
*
tree
你知道怎么做吗?(谢谢:)
我最近做了,我觉得Haskell是回答这类问题的完美语言。我还在学习。不过,我在输入方面有点困难。
下面是我使用的代码:
import IO
import System.Environment
import System.FilePath
…
main = do
name <- getProgName
args <- getArgs
input <- readFile $
if not (null args)
then head args
else dropExtension name
我试图做一个程序,应该从一个文件逐行读取,并检查它是否一个回文,如果是,然后打印。
我对haskell非常陌生,所以我唯一能做的就是用下面的代码打印出每一行:
main :: IO()
main = do
filecontent <- readFile "palindrom.txt"
mapM_ putStrLn (lines filecontent)
isPalindrom w = w==reverse w
问题是,我不知道如何逐行检查这一行是否是回文(请注意,在我的文件中,每行只包含一个单词)。谢谢你的帮助。
我在网上找到了一个我想要做的事情的例子,它是搜索一个文本文件中的一个字符串,然后只替换该字符串并写入一个文件。什么样的作品.
脚本确实替换了正确的文本。但是,它的印刷行号,我不想要。但是,如果我从findstr中移除\n标志,它只会打印包含数据的行和不是注释*的行(即以“;;”开头)。
如何使用findstr打印没有行号的所有行?
@echo off &setlocal
set "search=string to replace"
set "replace=replace string with me"
set "textfile=input.
我有一个带有下面一行的haskell文件:
{-# LANGUAGE DeriveGeneric #-}
但是,我在这一行中得到了以下错误消息:
Failed to parse result of calling cabal
Resolving dependencies...
Build profile: -w ghc-8.6.5 -O1
In order, the following will be built (use -v for more details):
- haskell-translator-0.1.0.0 (exe:haskell-translator) (configur
我编写了以下代码来处理多个文件中的每一行,并在行尾添加文件名:
for i in $(cat all_output_file.txt);do cat $i|sed 's/:/ /g'|sed 's/-/ /g'| sed 's/,cn=/ /g'| awk 'BEGIN{OFS="\t"}{print $1,$2,$3,$6,FILENAME}'>>input_file.txt;done
但是,上面的代码打印的是"-“在每一行的末尾而不是文件名,我如何在每个处理行的末尾打印文件名?
我是个C新手,正在尝试读写.dat文件的结构。当我添加数据时,我看到.dat文件中的字符。但是,我无法读取数据,并且我的代码在每次出现结构时都应该输出"val“,而不会输出任何内容。 我看过很多源码,但是我找不到我的代码和那些有什么不同。 https://www.geeksforgeeks.org/readwrite-structure-file-c/此网站最初用于了解如何执行此操作。 Read/Write to binary files in C我用这个来看看如何修复我的代码,但解决方案没有帮助。 我尝试更改while循环中的语句。 struct person
{
int
如何编辑文件的特定行?
示例
What's your name?
What do you do?
What's your favourite colour?
然后在运行特定的程序后,结果将是..
What's your name? : Thatile
What do you do? : I am a student
What's your favourite colour? : Black
使用file.seek()覆盖,我希望保留文件中的原始文本,只编辑行
我正在尝试编写一个能够读取C文件(.cm)的扫描器。当扫描程序完成时,它将打印每个令牌以及令牌的行号。如果标记是标识符,则打印标识符的词位或字符串值;如果标记是数字,则打印数字的值。我写的这段代码已经接近实现我的扫描器了吗?我在识别输入行是标识符还是int时遇到了麻烦。我想这是我对代码基本结构的尝试。
import java.io.File;<br>
import java.util.Scanner;
public class ReadFile {
public static void main(String[] args) {
t
我想从Haskell程序中的大型文本文件(~10 in )中选择n-th最后一行。
我找到了一种方法,可以从内部字符串中获得最后的n-th:
myLen = 7
n = 3 -- one-based from the end
myLines = lines myText
idx = myLen - n
theLine = head (drop idx myLines)
main :: IO ()
main = do
putStrLn theLine
关于readFile函数的文档说它“懒洋洋地读取内容”,所以一旦readFile到达n-th的最后一行,它会不会将之前的所有行存储在内存
只有一个简单的问题,我的代码是完整的。它接收输入文件,将其分成行,逐行读取文件,执行转换,在本例中,将某些内容转换为超文本标记语言格式(例如:#This is a line H1 a line with H1 HTML tag,将其格式化为标题)。我剩下的唯一一件事就是获取第一行代码,并将该代码打印到浏览器标签中。此外,正文或尾部必须打印到窗口中,而不是选项卡。所以我的.txt文件的第一行就是标题!我想在web浏览器的选项卡中显示它。下面是我的一些建议:
formatToHTML :: String -> String
formatToHTML [] = []
formatT