伊莉討論區

標題: c何c++有關於lazy list的程式庫嗎? [打印本頁]

作者: weirdococo    時間: 2017-6-7 12:06 AM     標題: c何c++有關於lazy list的程式庫嗎?

本帖最後由 weirdococo 於 2017-6-7 12:56 AM 編輯

其實以前就很想用(然而完全不想自寫,C的for while又很難用),有沒有類似的東西,可以直接使用?

像是這樣,完全不用管一個list或是vector的長度,甚至不用設定結尾,又可以連成一串的?
lazy list
  1. my Rat constant @randList = lazy (loop { rand });
  2. my Int constant @randIntList = lazy gather for @randList { take ($_ * 1).round(1) };
  3. .say for @randIntList[^100];
複製代碼







作者: ren1244    時間: 2017-6-7 04:56 AM

先說聲抱歉,下列內容可能跟你問的問題無關。
只是這段時間看你發問的問題,有一些想法。

我想不同語言有不同的特性,適合做的事情不一樣。
我感覺得到你跟一般同學有一些不一樣,又或者你們學校正集合著你們這樣的人在訓練。

比起在語言的功能上鑽研
我想提出幾個可能有趣的題目
你可以想想用不同語言來實現

這邊是一些純文字文件的資料
CNS2UNICODE_Unicode BMP.txt
CNS2UNICODE_Unicode 2.txt
CNS2UNICODE_Unicode 15.txt
CNS_phonetic.txt

前三個檔案是CNS-11643與unicode編碼的對照表
最後一個檔案是CNS與注音符號的對照表
測試資料連同說明文件我放在這裡

程式的目的在於讀取這些檔案
並輸出一個unicode與注音符號鍵盤對應的文字檔
例如:
2ji3    朵
2ji3    躲
(前面的2ji3是注音ㄉㄨㄛˇ的鍵盤)
(這東西可以給gcin注音輸入法的檔案讀取)

我會提出這個,主要是牽涉到十萬筆以上資料
你可以用任何一個你覺得適合達成目的或是較為熟悉的語言來處理
看看要跑多久
並且去思考如何提高效能
(也許也會遇到輸出unicode的問題)

這是我以前在某個論壇中一時興起幫人做過的東西
因為對方不懂程式如何編譯
最後我索性用javascript來寫
讓他用網頁就能打開
已完成的程式我放在
https://github.com/ren1244/CinConvert

作者: weirdococo    時間: 2017-6-7 10:04 AM

本帖最後由 weirdococo 於 2017-6-7 10:06 AM 編輯
ren1244 發表於 2017-6-7 04:56 AM
先說聲抱歉,下列內容可能跟你問的問題無關。
只是這段時間看你發問的問題,有一些想法。

先說一下我的想法(最近要考試所以可能要很久以後才會試著實作),
Hash Table可以解決問題,但是C語言沒有,C只有enum。
再來這是固定的資料,不用再執行的時候增加減少,也就是說可以由多個樹狀enum和swich完成。
我不可能用手key去打出enum table,所以我會用script來產生enum table 和 swich。
大概是這樣。
作者: weirdococo    時間: 2017-6-7 11:21 AM

weirdococo 發表於 2017-6-7 10:04 AM
先說一下我的想法(最近要考試所以可能要很久以後才會試著實作),
Hash Table可以解決問題,但是C語言沒有 ...

或著把資料轉成json給 一些sql來做查詢,看看速度怎樣。
作者: ren1244    時間: 2017-6-8 03:01 PM

C的for while又很難用

下面這段程式碼是輾轉相除法求最大公因數給你參考
  1. int64_t gcd ( int64_t a, int64_t b )
  2. {
  3.         for(;b>0 && (a%=b);b%=a);
  4.         return a==0?b:a;
  5. }
複製代碼
我想好好發揮它的特性,會找到這種迴圈的價值

作者: CoNsTaRwU    時間: 2017-6-13 11:33 AM

提示: 作者被禁止或刪除 內容自動屏蔽
作者: o_g349    時間: 2017-9-13 10:39 AM

提示: 作者被禁止或刪除 內容自動屏蔽




歡迎光臨 伊莉討論區 (http://m.eyny.com/) Powered by Discuz!