Başka yerlerde görüldüğü gibi (örn. 1, 2, ...) komut dosyası yazma işlemi oldukça güçlü olabilir.
Hızlı bir şekilde ghc expression evaluation mode da olabilir. aslında kendimi daha çok kullanarak buluyorum (Ruby'de bu özelliği çok beğeniyorum).
Küçük bir örnek görevi: Gerçekten ayrıntıları bilmiyorum muhtemelen çünkü
Bu biraz aksak görünüyorScripting için haskell'de ifade değerlendirme modu
git diff --stat 9e2b68 | ghc -e \
"getContents >>= return.(Data.List.nub).map(fst.break('/'==).head.words).lines"
"HEAD ve belirli revizyon arasındaki git diffs bulunan tüm klasörleri bulun" ghc -e
'un kullanımı.
Tüm ilginç bölümün sadece nub.map(fst.break('/'==).head.words).lines
olduğu göz önüne alındığında, gerçek ifade biraz endişeli görünüyor.
- Kullandığım modüller hakkında ghc'ye nasıl söylerim, bu nedenle tam adı kullanarak bunları nitelendirmem gerekmez.
- Ghc'yi sık kullandığım modülleri içeren bir yapılandırma dosyasını alabilir miyim?
Bu tür küçük komut dosyaları için haskell kullanma şeklimizi geliştirmemde yardımcı olacak diğer kullanım kılavuzlarından bazı örnekleri görmekten memnuniyet duyuyoruz!
Sidenote: Commandline-foo sihirbazları muhtemelen bu konuya gülecek ama ben haskell'i kullanarak daha rahat hissediyorum, sonra bash komut dosyasını kullanıyorum. modüllerin İlişkin
Dize için → String işlevleri “interact” öğesini biraz daha az rahatsız edici olarak buluyorum: ghc -e ”$ Dize func>" '. Bu sık sık "ghc -e" etkileşimi $ unlines olarak haritalanır ( String func>). –
Nefrubyr
"Komut satırı-foo sihirbazının" pek çoğunun olmadığı git ve Haskell'in hayranı olarak, git ile ilgili Haskell betiklerinin bir demetini listelediğiniz bir blog yazısı kesinlikle bana ilgi gösterecekti! – MatrixFrog
@MatrixFrog Git ile sınırlı değil ama belki sizin için hala ilginç: [GHCs Değerlendirme Modu ile Komut Dosyası] (http://blog.coldflake.com/post/12412650749/scripting-with-ghcs-evaluation-mode) – oliver