891 từ
4 phút đọc
Ví Dụ Expressive Code
Ở đây, chúng ta sẽ khám phá cách các khối mã hiển thị bằng Expressive Code. Các ví dụ được cung cấp dựa trên tài liệu chính thức, bạn có thể tham khảo để biết thêm chi tiết.
Expressive Code
Tô Màu Cú Pháp
Tô màu cú pháp thông thường
console.log('Mã này được tô màu cú pháp!')Hiển thị chuỗi thoát ANSI
Màu ANSI:- Thường: Đỏ Xanh lá Vàng Xanh dương Tím Xanh cyan- Đậm: Đỏ Xanh lá Vàng Xanh dương Tím Xanh cyan- Mờ: Đỏ Xanh lá Vàng Xanh dương Tím Xanh cyan
256 màu (hiển thị màu 160-177):160 161 162 163 164 165166 167 168 169 170 171172 173 174 175 176 177
Màu RGB đầy đủ:ForestGreen - RGB(34, 139, 34)
Định dạng văn bản: Đậm Mờ Nghiêng Gạch chânKhung Trình Soạn Thảo & Terminal
Khung Trình Soạn Thảo & Terminal
Khung trình soạn thảo mã
console.log('Ví dụ thuộc tính Title')Ví dụ bình luận tên tệpKhung terminal
echo "Khung terminal này không có tiêu đề"Write-Output "Cái này có tiêu đề!"Ghi đè loại khung
echo "Nhìn này, không có khung!"# Nếu không ghi đè, đây sẽ là khung terminalfunction Watch-Tail { Get-Content -Tail 20 -Wait $args }New-Alias tail Watch-TailĐánh Dấu Văn Bản & Dòng
Đánh dấu toàn bộ dòng & phạm vi dòng
// Dòng 1 - được đánh dấu bằng số dòng// Dòng 2// Dòng 3// Dòng 4 - được đánh dấu bằng số dòng// Dòng 5// Dòng 6// Dòng 7 - được đánh dấu bằng phạm vi "7-8"// Dòng 8 - được đánh dấu bằng phạm vi "7-8"Chọn loại đánh dấu dòng (mark, ins, del)
function demo() { console.log('dòng này được đánh dấu là đã xóa') // Dòng này và dòng tiếp theo được đánh dấu là đã thêm console.log('đây là dòng thứ hai được thêm vào')
return 'dòng này sử dụng loại đánh dấu mặc định trung tính'}Thêm nhãn cho đánh dấu dòng
<button role="button" {...props} value={value} className={buttonClassName} disabled={disabled} active={active}> {children && !active && (typeof children === 'string' ? <span>{children}</span> : children)}</button>Thêm nhãn dài trên dòng riêng
<button role="button" {...props}
value={value} className={buttonClassName}
disabled={disabled} active={active}
>
{children && !active && (typeof children === 'string' ? <span>{children}</span> : children)}</button>Sử dụng cú pháp giống diff
dòng này sẽ được đánh dấu là đã thêmdòng này sẽ được đánh dấu là đã xóađây là dòng thông thường--- a/README.md+++ b/README.md@@ -1,3 +1,4 @@+đây là một tệp diff thực tế-tất cả nội dung sẽ không bị sửa đổikhông có khoảng trắng nào bị loại bỏKết hợp tô màu cú pháp với cú pháp giống diff
function thisIsJavaScript() { // Toàn bộ khối này được tô màu như JavaScript, // và chúng ta vẫn có thể thêm đánh dấu diff! console.log('Mã cũ cần xóa') console.log('Mã mới sáng bóng!')}Đánh dấu văn bản riêng lẻ trong dòng
function demo() { // Đánh dấu bất kỳ văn bản nào trong dòng return 'Nhiều kết quả khớp của văn bản đã cho được hỗ trợ';}Biểu thức chính quy
console.log('Các từ yes và yep sẽ được đánh dấu.')Thoát dấu gạch chéo
echo "Test" > /home/test.txtChọn loại đánh dấu trong dòng (mark, ins, del)
function demo() { console.log('Đây là các loại đánh dấu đã chèn và đã xóa'); // Câu lệnh return sử dụng loại đánh dấu mặc định return true;}Ngắt Dòng Tự Động
Cấu hình ngắt dòng theo khối
// Ví dụ với ngắt dòngfunction getLongString() { return 'Đây là một chuỗi rất dài có thể sẽ không vừa với không gian có sẵn trừ khi container cực kỳ rộng'}// Ví dụ với wrap=falsefunction getLongString() { return 'Đây là một chuỗi rất dài có thể sẽ không vừa với không gian có sẵn trừ khi container cực kỳ rộng'}Cấu hình thụt lề cho dòng ngắt
// Ví dụ với preserveIndent (được bật mặc định)function getLongString() { return 'Đây là một chuỗi rất dài có thể sẽ không vừa với không gian có sẵn trừ khi container cực kỳ rộng'}// Ví dụ với preserveIndent=falsefunction getLongString() { return 'Đây là một chuỗi rất dài có thể sẽ không vừa với không gian có sẵn trừ khi container cực kỳ rộng'}Phần Có Thể Thu Gọn
5 collapsed lines
// Tất cả mã thiết lập boilerplate này sẽ được thu gọnimport { someBoilerplateEngine } from '@example/some-boilerplate'import { evenMoreBoilerplate } from '@example/even-more-boilerplate'
const engine = someBoilerplateEngine(evenMoreBoilerplate())
// Phần mã này sẽ hiển thị theo mặc địnhengine.doSomething(1, 2, 3, calcFn)
function calcFn() { // Bạn có thể có nhiều phần thu gọn3 collapsed lines
const a = 1 const b = 2 const c = a + b
// Phần này sẽ vẫn hiển thị console.log(`Kết quả tính toán: ${a} + ${b} = ${c}`) return c}
4 collapsed lines
// Tất cả mã này đến cuối khối sẽ được thu gọn lạiengine.closeConnection()engine.freeMemory()engine.shutdown({ reason: 'Kết thúc ví dụ mã boilerplate' })Số Dòng
Hiển thị số dòng theo khối
// Khối mã này sẽ hiển thị số dòngconsole.log('Lời chào từ dòng 2!')console.log('Tôi đang ở dòng 3')// Số dòng bị tắt cho khối nàyconsole.log('Xin chào?')console.log('Xin lỗi, bạn có biết tôi đang ở dòng nào không?')Thay đổi số dòng bắt đầu
console.log('Lời chào từ dòng 5!')console.log('Tôi đang ở dòng 6')Advertisement
Ví Dụ Expressive Code
https://minixium.com/vi/posts/expressive-code-vi/ Advertisement