関数型プログラミング言語Haskell Part34 (667レス)
上下前次1-新
240: 2023/09/19(火)19:53 ID:QCYT99dv(1/3) AAS
unixのtouchを実現したいのですが
{-# LANGUAGE OverloadedStrings #-}
import System.Posix.Files.ByteString
main = do
touchFile "hoge.txt"
touch.hs: hoge.txt: touchFile: does not exist (No such file or directory)
というエラーがでます
ないのは当たり前でtouchで作ろうとしてるのですがバグがあるのでしょうか?
241: 2023/09/19(火)19:54 ID:QCYT99dv(2/3) AAS
unixのtouchを実現したいのですが
{-# LANGUAGE OverloadedStrings #-}
import System.Posix.Files.ByteString
main = do
touchFile "hoge.txt"
touch.hs: hoge.txt: touchFile: does not exist (No such file or directory)
というエラーがでます
ないのは当たり前でtouchで作ろうとしてるのですがバグがあるのでしょうか?
242: 2023/09/19(火)19:58 ID:QCYT99dv(3/3) AAS
すみません、書き込むボタンの反応がなかったので連投になってしまいました
243: 2023/09/19(火)20:14 ID:a563RtWW(1/3) AAS
touchの本来の意味を考えれば、まあできなくてもそういうもんだなと思ふ
244: 2023/09/19(火)20:14 ID:a563RtWW(2/3) AAS
touchの本来の意味を考えれば、まあできなくてもそういうもんだなと思ふ
245: 2023/09/19(火)20:18 ID:a563RtWW(3/3) AAS
ありゃ俺も連投しちまったすまん
なんか5ch重いっぽいね
246(1): 2023/09/20(水)08:38 ID:I55f6i4N(1/2) AAS
for i in * ; do touch anotherdir/$i ; done
247: 2023/09/20(水)08:53 ID:I55f6i4N(2/2) AAS
>>246(bash)でお茶を濁した
perlが明日消えてなくなるらしいのでHaskellをPerlの代わりに使おうと思う
正規表現とグロブ、ファイル入出力はできた
他に何かあるかな
248(1): 2023/09/22(金)12:15 ID:NjV4q9P3(1/2) AAS
数値のリストl=[1,10,3]みたいなのを
1 10 3と出力したい。末尾には空白はあってはならないとする
最初
putStrLn $ intersperse ' ' $ foldl' (\acc x -> acc ++ show x) [] l
こんなのを考えたのだが10も1 0と分解されてしまった
しかたなく泥臭いこんなコードを書いたのだがもっといい方法はないだろうか
mp [] = return ()
mp [x] = putStrLn $ show x
mp (x:xs) = do
putStr $ show x ++ " "
省1
249: 2023/09/22(金)13:06 ID:8SLDLfd5(1) AAS
外部リンク[html]:jutememo.blogspot.com
250: 2023/09/22(金)14:01 ID:NjV4q9P3(2/2) AAS
putStrLn $ intercalate " " $ map show l
これでいけました
251: 2023/09/22(金)14:01 ID:W8j4O+ex(1) AAS
泥臭いだけで罪があるかのように日常的に刷りこまれてるから
本当の有罪確定したやつは絶対許してもらえないよな
そりゃそうだよな
252: 2023/09/27(水)15:30 ID:9Ywamwi5(1) AAS
{-# LANGUAGE BinaryLiterals #-}
この拡張をいれても
let t = read "0x111" :: Int -- 16進数にパースできる 273
let s = read "0b111" :: Int -- 2進数にはパースできない
微妙に不便だ
253: 2023/09/27(水)17:59 ID:k7PwLxD8(1) AAS
readが定義されたモジュールは別のLANGUAGEってこと?
254(1): 2023/10/11(水)15:16 ID:1pnnvG+R(1/2) AAS
groupBy (\a b -> snd a == snd b)
これを括弧を使わずにかけますか
groupBy ((==)<$>snd<*>snd)だと(a,b)->Boolとなって(a,b)->(c,d)->Boolとは型があいませんでした
255: 2023/10/11(水)17:39 ID:Fikp0OWy(1) AAS
>>254
import Data.Function
groupBy ((==) `on` snd)
結局かっこは使うのだけど、これがあなたの求めるものでしょうか
256: 2023/10/11(水)22:05 ID:1pnnvG+R(2/2) AAS
括弧を使わずにじゃなくてラムダを使わずにでした
まさに欲しかったのそれです
ありがとうございました!!
257: 2023/10/18(水)05:38 ID:vCrdR6l9(1) AAS
QuickCheckを勉強しているんですが
Runtime Errorを検出したくて次のように書きました
anの要素は2以上n以下で複数回出現します
testcaseがほとんどdiscardされるのですがリストをchoose (2,n)とかで生成するには
どうしたら良いのでしょうか
verboseCheckを指定してみるとskippedだらけなのですが
スキップしたやつは表示しないで欲しい
prop :: Positive Int -> [Int] -> Property
prop (Positive n) an = all (>=2) an && length an == n ==> monadicIO $ do
a' <- run (solve n an)
省1
258(1): 2023/11/16(木)18:41 ID:wXoixzgD(1) AAS
岡部健、復活したよ!
エックス内を
“Ken140291“
で探してみて下さい。
最近登録したばかりの様です。
259: 2023/11/18(土)16:03 ID:sLhTkQlu(1) AAS
自分で書き込んでいるのでは・・・。
260(1): 2023/11/19(日)15:31 ID:/inwpH7b(1) AAS
>>248
init $ folfl (\a x -> a++[show x]++“ “) ““ [3,10,1] でOK
261: 2023/11/20(月)09:46 ID:sZ0M6Dsh(1) AAS
>260 打ち間違えた!
lnlt$foldl(\a x->a ++show x++" ")[][1,10,3]
が正解。
262: 2023/11/20(月)14:32 ID:4MiKC4cJ(1) AAS
>>258
ぎゃははははははは
263: 2023/11/20(月)21:45 ID:Jf1v4QK8(1) AAS
外部リンク:github.com
> Unkown(気づいてない)
ウンコウンわろた。
264: 2023/11/20(月)23:57 ID:N43MAaAU(1) AAS
スレチ
265: 2023/11/21(火)12:01 ID:MS7pneIs(1) AAS
毛の壁くん復活してたのか!!
266: 2023/11/21(火)12:21 ID:W0g+S6dW(1) AAS
外部リンク:archive.md
毛の壁(岡部健)についてはここが詳しい
267(1): 2023/11/22(水)15:27 ID:1OepVPCl(1) AAS
こんなコードがあるのですが
cumsum k = unfoldr next . (,) 0
where
next :: (Int, [Int]) -> Maybe (Int, (Int, [Int]))
next (acc, x : xs) | acc <= k - x, acc' <- acc + x = Just (acc', (acc', xs))
next _ = Nothing
acc <= k-xはわかるのですが、acc' <- acc + xというのはどういう文法なのですか?
リスト内包表記でもないですし条件式の部分でモナドを扱ってるわけではないですよね?
268: 2023/11/22(水)16:31 ID:PuIW3qrN(1) AAS
>>267
パターンガードかな
外部リンク:ja.wikipedia.org
269: 2023/11/23(木)07:24 ID:WRBO39fy(1) AAS
<-はパターンガード修飾子と呼ぶのですね
初めて知りました
ありがとうございました
上下前次1-新書関写板覧索設栞歴
あと 398 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.029s