Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?

nó có thể dẫn đến cú pháp trở nên bảo thủ;

Điều này có thể được giải quyết với thiết kế phù hợp. Nếu các khối được thụt lề phải được căn chỉnh theo số lượng khoảng trắng đặt trước cho mỗi chỗ thụt lề, thì các khối thụt lề khác có thể là phần tiếp theo. Đây là cách tôi đã thiết kế trình phân tích cú pháp của mình cho ngôn ngữ mà tôi đang làm việc. Tôi nhận thấy Scala không đưa ra quyết định thiết kế này nên tôi đoán rằng sẽ có vấn đề

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
Cung cấp "fewerBraces" bên ngoài bản phát hành ảnh chụp nhanh

đây là nhiều cách để thể hiện khoảng trắng, xem cuộc tranh luận về khoảng trắng và tab vô tận và bạn cần công cụ thông minh tốt để nhận ra điều này và thực hiện chuyển đổi ngay tại chỗ, điều này dễ dàng hơn nhiều khi bạn có dấu ngoặc nhọn và khó hơn khi khoảng trắng đó có

Đối với không có vòng đeo tay, tôi thực sự khuyên bạn chỉ nên đặt các tab ngoài vòng pháp luật và hoàn thành nó. Chọn 3 dấu cách để thụt đầu dòng và kết thúc vấn đề một lần và mãi mãi. Đối với các tab cho phép được chuẩn bị sẵn và bất kỳ thứ gì tùy ý để tạo ra sự điên rồ và mâu thuẫn tối đa. Hãy để mọi người chọn chất độc của họ

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
Cung cấp "fewerBraces" bên ngoài bản phát hành ảnh chụp nhanh

Tôi không thích việc Scala chuyển sang cú pháp khoảng trắng quan trọng, vì tôi cảm thấy rằng Python đã thành công không phải vì cú pháp quan trọng của nó, mà là do nó

Tôi cá là điều ngược lại mới đúng, tính năng khoảng trắng của Python góp phần vào sự phổ biến của nó

hỏi đáp

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?

Bạn có nghĩ rằng thụt đầu dòng trong Python là khó chịu?

Trả lời (1 trên 19). Vâng, đó là một ý tưởng tồi không thể tin được và đã tự tay phá hỏng ngôn ngữ đối với tôi đến mức khiến nó và bất kỳ khuôn khổ nào được viết trong đó đều không thể sử dụng được. Hãy để tôi giải thích tại sao nó rất tệ. Lập luận phổ biến ủng hộ điều này là nó

Hành vi không xác định – 18 tháng 10 11
Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?

Tại sao quy tắc khoảng trắng của Python là đúng

Python nổi tiếng trong số các ngôn ngữ lập trình vì cú pháp khá độc đáo của nó. thay vì được phân định bằng dấu ngoặc nhọn hoặc từ khóa “bắt đầu/kết thúc”, các khối được phân cách bằng dấu thụt đầu dòng. tự nhiên…

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
Cung cấp "fewerBraces" bên ngoài bản phát hành ảnh chụp nhanh

Mong muốn của tôi là cú pháp phải rõ ràng, không có sự mơ hồ. Và tốt nhất là với số lượng lựa chọn hạn chế

Scala đã hỗ trợ bạn. Bạn vẫn có thể sử dụng dấu ngoặc nhọn. Nếu bạn là kiểu người thích thụt lề không nhất quán, sử dụng các tab không nhất quán và thêm tiếng ồn của dấu ngoặc nhọn, thì bạn đã không bị bỏ rơi. Nhưng tại sao bạn phải buộc phần còn lại của chúng tôi để đưa ra lựa chọn của bạn?

Khi có sự phân chia sở thích không thể giải quyết được, thì quyết định phải được đưa ra xem nên ưu tiên cái này hơn cái kia hay phù hợp với cả hai

Kiểu mã hóa thụt lề không có dấu ngoặc so với kiểu mã hóa có dấu ngoặc nhọn là một sự khác biệt không thể giải quyết được. Họ là hai phong cách riêng biệt. Nếu bạn muốn thu hút những người thực sự thích đeo tay, thì bạn có thể thu hút đám đông đó bằng cách cung cấp. Nếu bạn không quan tâm đến họ, thì họ có thể viết một bộ chuyển mã mà tôi sẽ làm nếu không. Nhưng tôi thực sự thích đánh dấu cú pháp trong IDE hơn. Vì vậy, một trong hai cách sẽ có một phân nhánh. Bằng cách coi thường phía bên kia, chỉ tạo ra sự thù địch mà không đạt được mục tiêu gulag của bạn. Bạn không thể nhốt mọi người vào tù nếu họ cảm thấy đủ mạnh mẽ về sở thích của mình. Ngoại tác của Coase được áp dụng

Đối với lambdas rất dài, tôi không phiền nếu đó là ngôn ngữ, nhưng điều tôi đang ủng hộ là không tạo ra một loạt các trường hợp đặc biệt phức tạp. Tìm một cú pháp thông thường cho phép nó hoạt động mạch lạc, chẳng hạn như đề xuất dấu hai chấm, có những lợi ích khác như tôi đã chỉ ra

Sau đó, vâng, tôi có thể tránh các lambda dài như tôi muốn và bạn có thể có chúng theo ý muốn. Một lợi ích khác của việc đặt tên lambdas dài là sử dụng lại như bạn đã đề cập trong những trường hợp hàm được truyền nhiều lần

CỘNG. rõ ràng là đã có dấu ngoặc nhọn cho lambdas rất dài. Vì vậy, có thể bỏ qua hỗ trợ không vòng đeo tay cho lambdas dài vì không đáng để nhầm lẫn hoặc có thể có một số cú pháp thông thường có khả năng ứng dụng rộng hơn (không chỉ là trường hợp đặc biệt) mà cũng ít ẩn ý hơn (do đó ít gây nhầm lẫn hơn cho người mới), chẳng hạn như . Từ khi nào các khối trở thành tham số lambda trong Scala? . Tôi hy vọng điều đó dễ thấy trong Sách Scala

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
Cung cấp "fewerBraces" bên ngoài bản phát hành ảnh chụp nhanh

Có thể nó đã quen, nhưng tôi thực sự không rõ ràng rằng assert(true) là một tham số chứ không phải là một loại cơ thể khi nó được giới thiệu với :. Tôi mong đợi một cách trực giác rằng : sẽ tách riêng một cái tên và một định nghĩa

Được rồi, tôi đã tìm thấy thông số kỹ thuật mà tôi đã thấy trong những ngày trước khi tôi xem xét Scala 3

https. //hơi điên. epfl. ch/docs/tham khảo/tính năng mới khác/thụt lề. html

Vì vậy, trí nhớ của tôi đã chính xác rằng dấu hai chấm là tùy chọn trong một số trường hợp và có một số quy tắc phức tạp về phần cuối dòng nào có thể kích hoạt khối thụt đầu dòng đủ điều kiện. Loại phức tạp này là những gì tôi đang chống lại

Đơn giản hơn nhiều là các vết lõm luôn bắt đầu ở 3 khoảng trắng và nếu trình phân tích cú pháp phát hiện một khối không nên có một khối thì sẽ xảy ra lỗi. Sau đó, chúng tôi không cần tất cả các trường hợp đặc biệt này trong đặc điểm kỹ thuật được liên kết ở trên. Ngoài ra, vì một phần tiếp theo của dòng lợi ích bổ sung sẽ được bật, chỉ cần không thụt lề chúng thành bội số của 3 khoảng trắng. hãy đơn giản hóa. Thiết kế hiện tại đang lặp lại cùng một lỗi đã mắc phải trong quá khứ khiến Scala trở nên khó hiểu một cách không cần thiết. Vui lòng chọn quy tắc đơn giản hơn. Nó được gọi là nguyên tắc Keep It Simple Stupid (các mod đừng đổ lỗi cho tôi vì tôi không nghĩ ra thuật ngữ này và nó thực sự không có ý nghĩa xúc phạm)

@martijnhoekstra, tôi chia sẻ sự bất đồng về nhận thức của bạn dường như xuất phát từ việc một hàm lấy một khối làm tham số đầu vào không trực quan như thế nào. Điều này khá lạ. Và đặt lambdas dài trong các khối ngoặc nhọn để biến chúng thành tham số đầu vào cũng lạ. Được cấp một tính năng sử dụng năng lượng cần thiết, nhưng vẫn còn lạ. Bất kỳ người mới nào cũng sẽ vấp phải điều đó

Tuy nhiên, ví dụ của bạn thậm chí còn kỳ lạ hơn vì nó không phải là lambda. Tôi cho rằng nó đang vượt qua một loại Unit? . Dấu hai chấm được sử dụng ở đâu trong Scala để phân định tên và định nghĩa của nó? . Hoặc có thể bạn đang đề cập đến một ngôn ngữ khác?

Vì vậy, nỗ lực làm cho nó tự nhiên hơn bằng cách đặt danh sách tham số của lambda và mũi tên trên cùng một dòng với hàm làm cho phần thân khối theo sau có phần trực quan hơn nhưng đó là trường hợp đặc biệt có sự không nhất quán như trường hợp một dòng yêu cầu . Và khối Unit không phải lambda làm tham số chức năng là một trường hợp khác

Tôi nghĩ rằng các thông số Unit là tài liệu dành cho người sử dụng điện. Có lẽ họ nên vẫn còn dấu ngoặc nhọn? . Chuyển Unit cho một chức năng là điều rất kỳ lạ đối với người mới sử dụng Scala. Có lẽ chúng ta nên gọi điều đó một cách rõ ràng cho những người mới đang áp dụng phong cách không vòng đeo tay

Nếu bạn áp dụng đề xuất của tôi để mã hóa cứng phần thụt lề cho các khối không có nẹp thì bạn không cần dấu hai chấm có tiền tố cho lambdas, vì bạn sẽ có phần tiếp theo của dòng hoặc khối được thụt lề được xác định bởi phần thụt đầu dòng của dòng tiếp theo. Lambdas một dòng (và tôi cho rằng có lẽ cũng có thể tiếp tục dòng?) Yêu cầu dấu ngoặc đơn có lẽ như chúng luôn làm?

Nhiều danh sách tham số (và tôi đoán thực tế là bất kỳ danh sách tham số nào được phân cách bằng dấu phẩy) lấy một khối lambda hoặc khối Unit làm bất kỳ nhưng tham số cuối cùng phải được yêu cầu để lấy các dấu ngoặc nhọn sẽ hoàn thành cả mục tiêu của Odersky để ngăn cản chúng (danh sách nhiều tham số)

CHỈNH SỬA. các khối không có nẹp được phân tách bằng dấu phẩy (hoặc dấu hai chấm) cũng khó hiểu, khó đọc và không được phép sử dụng? . Cho phép các khối không có dấu ngoặc nhọn của Lambda (và các đối tác) nhưng chỉ ở dạng tham số cuối cùng, nếu không thì phải được đặt trong dấu ngoặc nhọn

CHỈNH SỬA#2. Về đề xuất của tôi về việc sử dụng 3 dấu cách làm thụt lề tiêu chuẩn và được thi hành, nó sẽ giải quyết lỗi tiềm ẩn được chỉ ra trong chuỗi thảo luận dài tháng 1 đó đã bị đóng nên tôi không thể trả lời ở đó

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
Đã tìm kiếm phản hồi. Niềng răng tùy chọn Thiết kế ngôn ngữ

Tôi nghĩ một vấn đề là khả năng tương thích ngược. Giả sử mã cũ của bạn có một khoảng trắng đi lạc, như vậy. lớp A đối tượng B Nó sẽ được Dotty diễn giải khác với các phiên bản Scala trước đây
class A
 object B

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
shelby3

Tôi thực sự không thể hiểu làm thế nào các khối thụt lề có thể khó đọc hơn mã không thụt lề có dấu ngoặc nhọn?

Đã có một chủ đề lớn về vấn đề này một thời gian trước, đây là một ví dụ từ đó cho thấy một ví dụ về loại mã có thể khó phân tích cú pháp trực quan đối với một số nhà phát triển

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
Đã tìm kiếm phản hồi. Niềng răng tùy chọn Thiết kế ngôn ngữ

Nó thực sự đơn giản hơn thế nhiều, nguyên nhân gây ra vấn đề là như thế này. lớp Foo. def foo =. chắc chắn đảm bảoA. F[A] =. . . chắc chắn đảm bảoB. F[B] =. . . def ensureC. F[C] =. . . for a <- ensureA b <- ensureB c <- ensureC mang lại baz(a,b,c) def bar =. Tôi gặp rắc rối với những nội dung nhãn cầu như nếu for là một phần của ensureC hoặc trực tiếp bên trong foo, hoặc nếu e…

Về cơ bản, nếu không có dấu ngoặc nhọn đóng vai trò là dấu chấm câu, bạn rất dễ bị mất dấu mức độ thụt đầu dòng của một thứ gì đó, đặc biệt là khi có nội dung nằm giữa nó và đường tham chiếu mở khối. Ít nhất đối với tôi, đó là một thứ xử lý trực quan và dường như không phải là thứ mà tôi có thể mạnh mẽ vượt qua (giống như nếu một ngôn ngữ lập trình bắt buộc nền phải có màu đỏ và số nhận dạng màu xanh lá cây)

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
shelby3

Lưu ý nếu assert(true)1 được kéo dài trên đỉnh cửa sổ của bạn, thì dấu ngoặc nhọn đóng sẽ không rõ ràng

Mặc dù đúng, nhưng nó ít mơ hồ hơn đáng kể và công cụ (như nó hiện đang tồn tại) cần một thứ gì đó để kích hoạt gợi ý về thời điểm khối bắt đầu, vì vậy việc xử lý sẽ dễ dàng hơn nhiều

Một vấn đề khác là, đối với tôi, mẫu rất khó đọc ngay cả khi toàn bộ mã mẫu được chứa hoàn toàn trong một màn hình duy nhất, do đó, đó là tình huống “đôi khi có thể tệ” so với “luôn tệ, đôi khi tệ hơn. ”

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
shelby3

Các đường thẳng đứng có thể được tô màu để bạn không phải đếm chúng. IDE có thể được lập trình dễ dàng để đưa bạn trực tiếp đến (hoặc bật nó lên) dòng trước đó của khối

Điều này quay trở lại với lời phàn nàn thường xuyên rằng điều này được thực hiện quá nhanh và loại bỏ những lo ngại bằng cách tham khảo công cụ hiện không tồn tại vừa phổ biến vừa khó chịu và không đặc biệt hữu ích hoặc yên tâm

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
shelby3

Tôi đồng cảm với tuyên bố của bạn là mắc chứng tự kỷ và mắc chứng khó đọc

Mặc dù tôi mắc chứng tự kỷ nhưng tôi không mắc chứng khó đọc - đó chỉ là sự tương tự gần nhất có vẻ hợp lý với mọi người khi tôi mô tả cách tôi nhìn thấy các khối mã này

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
shelby3

Chúng ta có thể tìm thấy một đôi bên cùng có lợi ở đây không?

Chúng tôi có thể đã có thể, nếu điều này đã được xử lý khác nhau. Như vậy, điều này sẽ thực sự làm hỏng Scala vì nó sẽ chỉ chuyển Scala xuống cho các công ty nhỏ. Ngay sau khi bạn vượt qua một số nhà phát triển, khả năng cao là bạn sẽ phải bỏ qua một ứng viên thực sự hấp dẫn cho vị trí Kỹ sư cấp cao vì họ cực kỳ không thích (hoặc đơn giản là không thể đọc được) loại mã mà bạn đang sử dụng.

Và đó thậm chí không phải là trường hợp xấu nhất. khi hợp nhất hai công ty sử dụng Scala, tỷ lệ cược bắt đầu trở nên khá tồi tệ là một trong các nhóm sẽ được bảo lãnh vì họ thua trong cuộc tranh luận về việc sử dụng phong cách nào và tất cả kiến ​​​​thức về thể chế đó bị mất

Các công ty có xu hướng ngại chấp nhận loại rủi ro đó. Tôi hiện đang cố gắng ngăn công ty của chúng tôi chuyển sang Java vì những thứ như thế này và thành thật mà nói, tôi không đạt được nhiều thành công

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
shelby3

Ai đó không thể viết một trình dịch từ khối thụt lề sang dấu ngoặc nhọn để mỗi kiểu có thể được dịch sang kiểu khác để đọc?

Điều này tồn tại cho Python. Về cơ bản không ai sử dụng nó, vì vậy nó có thể không tốt để sử dụng. Tôi tưởng tượng rằng điều đó sẽ tồi tệ hơn đối với Scala, vì việc thiếu dấu ngoặc nhọn hoặc sự bao gồm của chúng ở nơi chúng có thể bị bỏ qua trong Scala 2 đã được sử dụng để báo hiệu sự hiện diện của các tác dụng phụ hoặc thông báo rằng thứ gì đó là một biểu thức duy nhất

Nếu chúng ta giả định về sự tồn tại của công cụ giả định, thì IntelliJ khá giỏi trong việc đoán khi nào bạn muốn thêm chúng (mặc dù đôi khi nó vẫn sai một cách buồn cười) và việc che giấu thứ gì đó khó hơn nhiều so với việc thêm lại nếu nó

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
morgen-peschke

khả năng cuối cùng bạn sẽ phải chuyển một ứng viên thực sự hấp dẫn cho vị trí Kỹ sư cấp cao vì họ cực kỳ không thích (hoặc đơn giản là không thể đọc được) loại mã mà nhóm hiện có đang sử dụng phát triển cực kỳ nhanh chóng

Và đó thậm chí không phải là trường hợp xấu nhất. khi hợp nhất hai công ty sử dụng Scala, tỷ lệ cược bắt đầu trở nên khá tồi tệ là một trong các nhóm sẽ được bảo lãnh vì họ thua trong cuộc tranh luận về việc sử dụng phong cách nào và tất cả kiến ​​​​thức về thể chế đó bị mất

FUD và Cuộc diễu hành khủng khiếp của bạn dường như không ảnh hưởng gì đến tôi. Chưa bao giờ bắn một cục máu đông nào và cầu xin tất cả những người tôi biết với kẻ giết người exosome hãy thở vào mặt tôi và cho tôi nếm một mẫu đờm của họ. Tiếp tục cố gắng để có kết quả xét nghiệm dương tính nhưng những điều chết tiệt dường như không tương quan với thực tế — hoặc ít nhất là thực tế mà chúng muốn nói với chúng ta

Hai công ty đối lập về mặt tôn giáo sẽ không bao giờ là ứng cử viên cho việc sáp nhập bất kể công ty đó đã chọn hai kiểu mã hóa Scala hay Python (hoặc trình chuyển mã của tôi thành Scala không vòng đeo tay) và Scala được chuẩn bị sẵn. Bạn sẽ không thể ngăn ai đó tạo Scala không vòng đeo tay. Các công ty phản đối tôn giáo sẽ không tuân theo bất kỳ nhà tù nào mà bạn định áp đặt cho họ. Tranh luận về quyền kiểm soát mà bạn không sở hữu là ngụy biện. Đó là định mệnh và nếu bạn không làm điều đó một cách chính thức thì bạn có thể kết thúc với một số hương vị khác nhau của nó, điều này sẽ là một kết quả tồi tệ hơn (điểm giống như tôi đã nói về các loại không dấu, tốt hơn là nên nắm lấy nó một cách chính thức và được bảo vệ bởi một cờ trình biên dịch tùy chọn . Hãy cắn viên đạn vì cuối cùng bạn không có lựa chọn nào khác và tốt hơn hết là hãy chính thức dẫn đầu về nó

Đối với một Sr. Kỹ sư anh ấy sẽ chọn công ty sử dụng phong cách viết mã mà anh ấy thích. tôi không thấy có vấn đề gì. Trừ khi bạn đang tranh luận, anh ta sẽ cần đọc các thư viện Scala và do đó sẽ bị tắt nếu chúng không theo phong cách ưa thích của anh ta. Nhưng bao nhiêu lập trình viên đã tắt Scala từ trước đến nay vì thiếu phong cách không tay? . Bạn mất một số, bạn đạt được một số. Nhưng chắc chắn hệ sinh thái sẽ phát triển vì có sẵn hai phong cách viết mã để khiến nhiều người hài lòng hơn

Cá nhân tôi sẽ không phản đối nếu các thư viện Scala vẫn ở kiểu dấu ngoặc nhọn. Đối với tôi, phong cách không dây phù hợp hơn với người dùng nhỏ tuổi, những người có lẽ sẽ không đọc thư viện. Mặc dù tôi chưa đủ tuổi và tôi sẽ sử dụng không có vòng đeo tay nhưng tôi không gặp vấn đề gì khi đọc có niềng răng. Tôi thích không tay sạch sẽ hơn, đồng đều hơn (có thể là tổ tiên người Đức của tôi, mặc dù tôi cũng có tiếng Wales, Ailen và Thụy Sĩ-Pháp-Ý)

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
morgen-peschke

Các công ty có xu hướng ngại chấp nhận loại rủi ro đó. Tôi hiện đang cố gắng ngăn công ty của chúng tôi chuyển sang Java vì những thứ như thế này và thành thật mà nói, tôi không đạt được nhiều thành công

Họ không cần nhiều tính năng Scala. Có thể đây là một bộ lọc tốt cho những người dùng thực sự cần Scala và do đó sẽ là những người ủng hộ nó nhiệt tình nhất. Tôi thực sự cần các lớp loại và các liên kết ẩn danh, vì vậy Java không phải là một lựa chọn cho tôi bất kể

Ngoài ra, tôi nghĩ rằng các công ty lớn dù sao cũng không sử dụng Scala, bởi vì bề ngoài họ ưu tiên bề rộng của nhóm nhà phát triển hơn các tính năng bí truyền, thú vị. Vì vậy, họ sẽ chọn Java hay Kotlin bất kể. Vì vậy, mối đe dọa có lẽ hầu như không liên quan. Tùy chọn không vòng đeo tay có thể tăng số lượng nhà phát triển Scala cơ sở

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
morgen-peschke

Điều này tồn tại cho Python. Về cơ bản không ai sử dụng nó, vì vậy nó có thể không tốt để sử dụng. Tôi tưởng tượng rằng điều đó sẽ tồi tệ hơn đối với Scala, vì việc thiếu dấu ngoặc nhọn hoặc sự bao gồm của chúng ở nơi chúng có thể bị bỏ qua trong Scala 2 đã được sử dụng để báo hiệu sự hiện diện của các tác dụng phụ hoặc thông báo rằng thứ gì đó là một biểu thức duy nhất

Nếu chúng ta giả định về sự tồn tại của công cụ giả định, thì IntelliJ khá giỏi trong việc đoán khi nào bạn muốn thêm chúng (mặc dù đôi khi nó vẫn sai một cách buồn cười) và việc che giấu thứ gì đó khó hơn nhiều so với việc thêm lại nếu nó

Có lẽ không ai sử dụng nó vì Python không thể tùy chọn biên dịch mã dấu ngoặc nhọn nên tất cả những người hâm mộ dấu ngoặc nhọn đã rời đi?

Tôi không hiểu tại sao một công cụ không thể chèn một dấu ngoặc một cách xác định vào vị trí của mọi khối không có dấu ngoặc? . Đối với các trường hợp tùy chọn khác không bắt buộc phải là khối và không được đánh dấu rõ ràng là khối trong mã không có nẹp, tôi đoán đó là ý định của tác giả, vậy có thể kết quả dịch đúng như ý định của tác giả?

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
morgen-peschke

vì vậy nếu ai đó thực sự không thể niềng răng, họ luôn có các lựa chọn

Không vì trước đây trình biên dịch sẽ không biên dịch mã không có vòng đeo tay của tôi và IDE không hiểu nó

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
shelby3

FUD và Cuộc diễu hành khủng khiếp của bạn dường như không ảnh hưởng gì đến tôi

Điều này thật đáng tiếc, vì mối quan tâm của tôi không phải là. Chia đôi nhóm nhà phát triển chưa bao giờ kết thúc tốt đẹp, ngay cả đối với các ngôn ngữ có tư duy lớn hơn nhiều so với Scala hiện đang được hưởng. Đó là một thập kỷ khó chịu khi Python hầu như không thể bỏ lại phía sau và đó là một yếu tố quan trọng dẫn đến sự bùng nổ của cộng đồng Perl

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
shelby3

Hai công ty đối lập về mặt tôn giáo sẽ không bao giờ là ứng cử viên cho việc sáp nhập bất kể công ty đó đã chọn hai kiểu mã hóa Scala hay Python (hoặc trình chuyển mã của tôi thành Scala không vòng đeo tay) và Scala được chuẩn bị sẵn

Dễ thương thật. Các giám đốc điều hành cấp C không thực sự quan tâm đến các chi tiết kỹ thuật của công ty mà họ đang muốn mua lại, họ quan tâm đến việc duy trì, rủi ro và chi phí tuyển dụng. Một công ty được xây dựng trên nền tảng Java sẽ không ngần ngại mua lại một công ty đang chạy nền tảng Python (hoặc ngược lại) vì một trong hai ngôn ngữ này tương đối dễ tuyển dụng và họ cho rằng sự mất mát trong chia sẻ tư duy sẽ là tình huống Ship of Theseus

Họ sẽ ít quan tâm hơn đến việc chọn công ty được xây dựng trên nền tảng công nghệ dựa trên các ngôn ngữ ít quen thuộc hơn và Scala hiện vẫn đủ điều kiện - nhưng trở thành ngôn ngữ JVM sẽ hữu ích ở đây vì CTO có thể trấn an họ rằng mọi thứ sẽ ổn.

Họ sẽ trở nên thực sự khó hiểu nếu Scala phát triển danh tiếng là “ngôn ngữ với các nhà phát triển có xu hướng rời bỏ hàng loạt khi có được” - trực giác của tôi là bạn sẽ mất người nhanh hơn rất nhiều khi một lần cam kết có thể viết lại hoàn toàn

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
shelby3

Đối với một Sr. Kỹ sư anh ấy sẽ chọn công ty sử dụng phong cách viết mã mà anh ấy thích. tôi không thấy có vấn đề gì

Vấn đề là họ đã rất khó tuyển dụng, vì vậy việc giảm bớt nhóm ứng viên quan tâm hơn nữa là một ý tưởng thực sự tồi

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
shelby3

Họ không cần nhiều tính năng Scala. Có thể đây là một bộ lọc tốt cho những người dùng thực sự cần Scala và do đó sẽ là những người ủng hộ nó nhiệt tình nhất. Tôi thực sự cần các lớp loại và các liên kết ẩn danh, vì vậy Java không phải là một lựa chọn cho tôi bất kể

Đó là tất cả những thứ tốt đẹp để có. Không tồn tại một thuật toán nào có thể được triển khai trong Scala mà không phải Java. Việc lập trình trong Scala có thể dễ dàng hơn, nhanh hơn và thú vị hơn rất nhiều, nhưng chúng ta đừng ảo tưởng ở đây - nếu các công ty không thể thuê các nhà phát triển Scala một cách đáng tin cậy để làm việc tốt với các nhóm hiện có, thì họ sẽ không sử dụng Scala. Việc chia nhóm nhà phát triển sẽ làm trầm trọng thêm vấn đề này

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
shelby3

Đối với các trường hợp tùy chọn khác không bắt buộc phải là khối và không được đánh dấu rõ ràng là khối trong mã không có nẹp, tôi đoán đó là ý định của tác giả, vậy có thể kết quả dịch đúng như ý định của tác giả?

Vấn đề ở đây là, sau khi bị xóa, thông tin về dấu ngoặc nhọn nào được bao gồm rõ ràng sẽ bị mất, do đó, mã khứ hồi có thể trông rất khác

Chúng ta có thể sử dụng dấu ngoặc thay vì thụt lề trong Python không?
shelby3

Không vì trước đây trình biên dịch sẽ không biên dịch mã không có vòng đeo tay của tôi và IDE không hiểu nó

Bạn hiểu lầm, các dấu ngoặc nhọn sẽ vẫn ở đó, công cụ giả định mà bạn có thể viết sẽ chỉ ẩn chúng trong IDE

Python có theo dấu thụt đầu dòng thay vì dấu ngoặc không?

Python nổi tiếng trong số các ngôn ngữ lập trình vì cú pháp khá độc đáo của nó. thay vì được phân tách bằng dấu ngoặc nhọn hoặc từ khóa “bắt đầu/kết thúc”, các khối được phân cách bằng dấu thụt đầu dòng .

Tại sao Python sử dụng thụt đầu dòng thay vì dấu ngoặc nhọn?

Bởi vì mã thụt vào có vẻ gọn gàng và ngăn nắp. Một trong những mối quan tâm lớn nhất của trăn là mã phải dễ đọc và được lưu giữ tốt. Việc thụt đầu dòng buộc người dùng phải cung cấp khoảng trắng và được sử dụng để thay thế các dấu ngoặc vì việc thụt lề giúp mã duy trì .

Cách ưa thích để thụt lề trong Python là gì?

Bạn nên sử dụng khoảng trắng thay vì tab để thụt lề trong python. Ngoài ra, hãy sử dụng khoảng trắng hoặc tab để thụt lề; .

Tôi có thể sử dụng dấu ngoặc cho Python không?

[] (Dấu ngoặc chỉ số) . Đầu tiên, chúng được sử dụng để xác định "danh sách chữ", cho phép bạn khai báo một danh sách và nội dung của nó trong chương trình của bạn. Dấu ngoặc chỉ mục cũng được sử dụng để viết các biểu thức đánh giá một mục trong danh sách hoặc một ký tự trong chuỗi. Index brackets ([]) have many uses in Python. First, they are used to define "list literals," allowing you to declare a list and its contents in your program. Index brackets are also used to write expressions that evaluate to a single item within a list, or a single character in a string.