में फ़्रेड यह एक एरलांग प्रश्न है।आईओ का अप्रत्याशित व्यवहार: एरलांग
मैंने io: fread द्वारा कुछ अप्रत्याशित व्यवहार में भाग लिया है।
मैं सोच रहा था कि कोई व्यक्ति जांच सकता है कि मैं आईओ: फ्रेड या आईओ: फ्रेड में कोई बग है या नहीं।
59 73 41 52 40 09 26 53 06 34 10 51 87 86 81 61 95 66 57 25 68 90 81 80 38 92 67 73 30 28 51 76 81 18 75 44 ...
नंबरों की प्रत्येक जोड़ी के बीच एक भी स्थान नहीं है और प्रत्येक पंक्ति एक गाड़ी-लौटने नई लाइन जोड़ी के साथ समाप्त होता है:
मैं जो इस प्रकार एक "संख्या के त्रिकोण" शामिल एक पाठ फ़ाइल है ।
मैं इस फ़ाइल को सूची में पढ़ने के लिए निम्न Erlang प्रोग्राम का उपयोग करता हूं।
-module(euler67). -author('Cayle Spandon'). -export([solve/0]). solve() -> {ok, File} = file:open("triangle.txt", [read]), Data = read_file(File), ok = file:close(File), Data. read_file(File) -> read_file(File, []). read_file(File, Data) -> case io:fread(File, "", "~d") of {ok, [N]} -> read_file(File, [N | Data]); eof -> lists:reverse(Data) end.
इस कार्यक्रम का उत्पादन होता है:
([email protected])30> euler67:solve(). [59,73,41,52,40,9,26,53,6,3410,51,87,86,8161,95,66,57,25, 6890,81,80,38,92,67,7330,28,51,76,81|...]
नोट कैसे चौथी लाइन (34) और पांचवें लाइन (10) के पहले नंबर के अंतिम संख्या एक एकल में विलय कर दिया गया है संख्या 3410.
जब मैं "od" का उपयोग करके टेक्स्ट फ़ाइल को डंप करता हूं तो उन पंक्तियों के बारे में कुछ खास नहीं है; वे CR-nl किसी भी अन्य लाइन की तरह के साथ समाप्त:
> od -t a triangle.txt 0000000 5 9 cr nl 7 3 sp 4 1 cr nl 5 2 sp 4 0 0000020 sp 0 9 cr nl 2 6 sp 5 3 sp 0 6 sp 3 4 0000040 cr nl 1 0 sp 5 1 sp 8 7 sp 8 6 sp 8 1 0000060 cr nl 6 1 sp 9 5 sp 6 6 sp 5 7 sp 2 5 0000100 sp 6 8 cr nl 9 0 sp 8 1 sp 8 0 sp 3 8 0000120 sp 9 2 sp 6 7 sp 7 3 cr nl 3 0 sp 2 8 0000140 sp 5 1 sp 7 6 sp 8 1 sp 1 8 sp 7 5 sp 0000160 4 4 cr nl 8 4 sp 1 4 sp 9 5 sp 8 7 sp
एक दिलचस्प अवलोकन है कि संख्या है जिसके लिए समस्या तब होती है (लेकिन सभी पाठ फ़ाइल में 16-बाइट सीमा पर होने के लिए होने से कुछ, उदाहरण के लिए 68 9 0)।
यह सब कुछ एक बग की तरह दिखता है। डेटा की लंबाई लेते हुए पता चलता है कि यह 32 तत्व हैं, 36 तत्व नहीं। अन्य प्रारूपों में डेटा व्यवस्थित करना सिर्फ गड़बड़ को चारों तरफ ले जाता है। (मैंने इसे Vista + Erland 5.6.5 में आजमाया)। – Godeke