作者Schelfaniel (Test)
看板Ruby
标题Re: [连结] Ruby sucks(All those shaky languages..)
时间Tue Aug 15 09:44:12 2006
※ 引述《Schelfaniel (Test)》之铭言:
: 我是觉得 Java 纯就语言来说不算难...
: 但是它元件一堆...算是自由软体业的其中一个大本营...
: 光是 Apache 那边的东西就够多了...
: 当然 Sun 自己也提了一堆架构...( 这边也一堆专有名词 @@ )
: 我是觉得多学一些语言, 不能算是什麽高手啦...
: 像我比较在碰的, 其实和 godfat 类似, 就是 D, Ruby, Common Lisp...
: 其他比较少碰...之前还碰一下 Haskell 但是实在不太擅长...@_@
: Haskell 写个猜数字游戏 (1-100) 电脑会回报太大还是太小, 都陷入苦境 :QQ
: ( 当然後来还是写出来了, 不过不太漂亮就是了 @_@ )
: 会碰这些也是有点碰了一堆商业元件, 想要有点真正回到写程式的感觉吧 @_@
先贴初版的给你好了 (二版的等我回去再找找)
这版的缺点是, 只要输入不是数字的马上就 Exception @_@
( Lisp 可以用 integerp 来查看它是不是数字, 不过 Haskell 我不知道 :QQ)
而且它不会计算你输入过几次以及目前的可能范围....
(如你猜 50, 结果是太大的话, 可能范围就变成 1-50)
(不过这个只是在函式参数再多加几个就可以达成)
最後是 Haskell 的排版, 以下每行前面的空格是该语言要求要空格...
我是觉得这样很容易造成一直往後移...
module Main
where
import IO
import Random
main = do
hSetBuffering stdin LineBuffering
num <- randomRIO (1::Int, 100)
putStrLn "I’m thinking of a number between 1 and 100"
doGuessing num
doGuessing num = do
putStrLn "Enter your guess:"
guess <- getLine
let guessNum = read guess
if guessNum < num
then do putStrLn "Too low!"
doGuessing num
else if read guess > num
then do putStrLn "Too high!"
doGuessing num
else do putStrLn "You Win!"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.220.34.34
1F:推 jaiyalas:感激不尽(大心)~ 赶快来研究一下~>///< 08/15 09:46
2F:推 b6s:看到这个忽然想离题。IIS.SINICA庄副想徵人做functional prog 08/15 13:06
3F:推 godfat:这个离题远到太过火了… =.= 08/15 14:09
4F:→ godfat:所以…几日後砍掉好了,欲备份请备份 08/15 14:12
5F:→ Schelfaniel:还有一个方法是把板名改成 Ruby & Functional Languag 08/15 14:27
6F:→ godfat:这样怪怪的 @@" btw, 会留一份做记录 08/15 14:41
7F:→ Schelfaniel:或是加开属性为闲聊的文?? 08/15 14:51
8F:→ godfat:本来就有吧?所以应该换标题的,而且也不要太偏某语言 08/15 14:52
9F:→ Schelfaniel:名称已修正 08/15 15:06
10F:→ b6s:版主:抱歉 <(_ _)> 08/17 03:19
11F:→ godfat:推文不要紧,是本篇完全在讲 Haskell 太夸张了 @@ 08/17 13:04