Tôi chỉ tìm thấy một vấn đề lạ trong ngôn ngữ lập trình ruby, nó không phải là một vấn đề lớn, nhưng tôi chỉ không thể hiểu tại sao nó xảy ra. Tôi sẽ quan tâm nếu ai đó biết vấn đề của tôi.Không phải là 00.0 giống với 0.0?
Trong ruby, bạn có thể viết 0
hoặc 00
, điều đó không quan trọng, nó có cùng kết quả.
Nếu bạn chạy 0 === 00
bạn cũng nhận được true
có nghĩa là hai đầu vào chính xác giống nhau.
0.0
cũng bằng 0
, vì vậy một cách logic 00.0
cũng nên bình đẳng 0.0
nhưng vấn đề là, rằng nếu bạn cố gắng sử dụng số 00.0
sau đó bạn sẽ chỉ nhận được một lỗi. Nếu bạn chạy ví dụ:
a = 00.0
Bạn nhận được lỗi này:
syntax error, unexpected tINTEGER
Tất nhiên tôi biết đây là một vấn đề nhỏ, nhưng như đã nói tôi muốn hiểu tại sao máy tính không xử lý 00.0
giống như 0.0
?
00.0 có hợp pháp về mặt toán học không? – texasbruce
Nó là _mathematically_ hợp pháp. Câu hỏi đặt ra là nếu nó hợp pháp trong ruby. – Anthales
Tôi sẽ chỉ đưa ra nhận xét này vì tôi không có cơ sở cụ thể cho việc này. Một ý tưởng, mặc dù, có lẽ là Ruby đánh giá 0 === 00 trên một mức độ bit, nhưng một khi bạn thêm một số thập phân, việc đánh giá được thực hiện như phao? Tại thời điểm đó 00.0 không phải là một đầu vào hợp pháp và có lẽ sẽ không bằng bất cứ điều gì, tôi sẽ nghĩ. – Colleen