英英詞典(匯編實驗)

功能要求:

1.單詞及其英文解釋的錄入修改和刪除

? ?(1 ) 錄入新單詞,把它插入到相應的位置(按詞典順序),其后跟英文解釋、同義詞、反義詞;此功能要求在文件中完成,其它功能可以將單詞放在數據段中

?? (2 ) 可修改單詞英文解釋;

?? (3 ) 刪除單詞及其英文解釋;

2.查找:

  1. 輸入不完整的字符串,會依順序列出單詞前綴和字符串相匹配的單詞;

如輸入:en

列出:enable, enabled, enact等

  1. 查詢某個單詞英文解釋(如enable: to provide with the means or opportunity; to make possible, practical, or easy),詞庫中不存在此單詞,則提示找不到;
  2. 查詢某個單詞的同義詞(如accept: approve);
  3. 查詢某個單詞的反義詞(如win: lose);

以上結果均需顯示

編譯環境:VScode, msdos player MASM-v5.00

字符編碼方式:UTF-8

使用說明:

1. 進入界面后首先是輸入單詞,只允許輸入小寫字母,按下回車選中自動選中匹配的第一個單詞,在此階段按 esc 鍵退出程序

2. 按下回車選中單詞,如果沒有匹配的單詞自動清空重新輸入需要查詢的單詞

3. 查詢、修改命令:

? ? :s 同義詞 :o 反義詞 :e 解釋 :d 刪除單詞 :q 退出編輯/當前單詞,重新搜索 :i 編輯解釋 :w 保存修改(上一次操作為編輯解釋有效)

4. 編輯解釋,輸入 :q 后光標自動跳到解釋框,輸入新的解釋,遇到 : 結束,輸入下一個命令

5. 輸入 :q 退出查詢后返回到輸入單詞搜索階段

效果展示:

搜索匹配:

按下enter 選中匹配的第一個單詞

查詢解釋:

查詢反義詞

查詢近義詞

修改解釋

修改后的解釋

修改解釋未保存

修改后直接查詢近義詞,不保存解釋

還是原來的解釋

absent刪除后重新查詢后,沒有absent

詞庫未錄入 k 開頭的單詞顯示找不到

代碼

; multi-segment executable file template.
; 回車 確定 :s 同義詞 :o 反義詞 :e 解釋 :d 刪除單詞 :q 退出編輯/當前單詞,重新搜索 :i 編輯(只對解釋有效) :w 保存修改  鍵 esc 退出程序
; 示例:white:expl[回車] 查看解釋 :i[回車] 編輯解釋 :s[回車] 保存解釋WordMaxLen equ 30       ; 單詞最大長度
MaxCntWord equ 200      ; 最多存儲的單詞數
WordNum equ 38          ; 輸入的單詞數
ExplLen equ 200         ; 單詞解釋最大長度readline macro adrlocal lop, checklea   dx, adrdec   dxlop:     mov   bx, readptrmov   cx, 1                        ;; 逐個字節讀入inc   dxmov   ah, 3fhint   21hmov   bx, dxmov   al, ds:[bx]cmp   al, 0dh                      ;; 判斷是否是回車jnz   lopmov   byte ptr ds:[bx], '$'        ;; 加上結束符 '$'mov   bx, readptrmov   cx, 0mov   dx, 1mov   al, 01hmov   ah, 42hint   21h                          ;; 讀指針向后移一位,跳過換行endmscroll macro n, ulr, ulc, lrr, lrc, att, modeifidni <u>, <mode>mov    ah, 6elsemov    ah, 7endifmov    al, n              ;n = 上卷行數;n = 0時,整個窗口空白mov    ch, ulr            ;左上角行號mov    cl, ulc            ;左上角列號mov    dh, lrr            ;右下角行號mov    dl, lrc            ;右下角列號mov    bh, att            ;卷入行屬性int    10H
endmcurse macro     cury,curxmov ah, 2           ;置光標位置mov dh, cury        ;行號mov dl, curx        ;列號mov bh, 0           ;當前頁int 10H
endmdispscreen macro                               ;; 需預先設置好 ds, si, cx 和光標local dislop, disretdislop:    cldlodsbcmp   al, '$'               ;; 遇到 $ 結束jz    disretmov   ah, 0ehmov   bh, 0int   10hloop  dislopdisret:    
endmworddata strucwname      db       WordMaxLen+1 dup('$')                                                    ; 單詞explain    db       ExplLen dup('$')                                                         ; 解釋syn        db       WordMaxLen dup('$')                                                      ; 同義詞opp        db       WordMaxLen dup('$')                                                      ; 反義詞
worddata endsdata segmentcntword  dw    0                                                                        ; 保存單詞的個數readptr  dw    ?words worddata MaxCntWord dup(<>)                                              ; 單詞存儲區filename db    'D:\assembly_language_program\curriculum_design\finalword.txt', 0        ; 單詞文件路徑err      db    'can not open file$'adr      dw    ?inputbuf db    WordMaxLen+1 dup('$')                                                    ; 單詞搜索框,顯示當前單詞flag     db    0                                                                        ; 是否修改解釋
data endsshowdata segmentseletw   dw ?                                                ; 匹配的單詞數cmdbuf   db 10 dup('$')                                      ; 模式選擇框showbuf  db ExplLen dup('$')                                 ; 輸入解釋curp     db 0                                                ; 光標位置noword   db 'there is no such word in the data base$'shwords  dw MaxCntWord dup(?)                                ; 保存匹配的單詞
showdata endsinputinit macroscroll 0, 0, 0, 0, 79, 0e0h, u        ;; 單詞輸入框curse  0, 0
endmexplinit macroscroll 0, 1, 0, 17, 79, 0f1h, u        ;; 解釋顯示框curse  1, 0
endmcmdinit macroscroll 0, 18, 0, 18, 79, 0b0h, u        ; 命令輸入框curse  18,0
endmstack segment stackdw 1024  dup(0)
stack endscode segmentassume     cs:code, ds:data, es:showdata, ss:stackstart:        ; set segment registers:mov        ax, datamov        ds, axmov        ax, showdatamov        es, axcall       init                                               ; 讀入單詞inputinitexplinitcmdinitcurse      0, 0get1:         lea        ax, inputbufmov        si, axmov        cx, 30                                             ; 置一行字符數get2:         mov        ah, 0                                              ; 等待輸入int        16hcmp        al, 1bh                                            ; 是否為 esc 鍵?jz         exit                                               ; 是,退出cmp        al, 'a'                                            ; 輸入單詞,只允許輸入字母jc         nextincmp        al, 'z'ja         nextindispin:       mov        [si], alinc        simov        ah, 0eh                                            ; 顯示輸入的字符int        10Hpush       cxmov        ah, 03h                                            ; 獲取光標位置mov        bh, 0int        10hpush       dx                                                 ; 保存光標位置call       matchpop        dx                                                 ; 恢復光標位置mov        bh, 0mov        ah, 2int        10hpop        cxloop       get2nextin:       cmp        al, 0dh                                            ; 按下回車選中第一個單詞,進入單詞查詢、修改jnz        nextin1call       opwordinputinit                                                     ; 清空輸入框輸入下一個單詞loop       get1nextin1:      inc        cx                                                 ; 輸入的不是字母或回車,重新輸入這一位loop       get2inputinitcall       inputbufclearjmp        get1                                               ; 超過 30 個字母重新輸入exit:         scroll     0,0,0,24,79,7                                      ; 清屏mov        ax, 4c00h                                          ; exit to operating system.int        21hinit proc                                                                           ; 初始化lea        dx, filenamemov        ah, 3dhmov        al, 00hmov        cx, 00hint        21h                                                ; 打開文件cmp        cx, 0jnz        notfile                                            ; 打開失敗mov        readptr, ax                                        ; 保存文件標識lea        dx, wordsmov        cx, WordNumlop1:         mov        adr, dxcall       readwordpush       dxcall       adjustadd        dx, type worddatainc        cntword                                            ; 計數loop       lop1jmp        returnnotfile:      mov        ax, cxlea        dx, errmov        ah, 09hint        21hreturn:       mov        ah, 3ehmov        bx, readptrint        21hret
init endpreadword proc                                                                       ; 讀入一個單詞的內容,通過 adr 傳遞參數irp        regad, <ax, bx, cx, dx, si, di>push       regad
endmmov        ax, adrmov        si, axreadline   [si].wnamereadline   [si].explainreadline   [si].synreadline   [si].oppirp        regad, <di, si, dx, cx, bx, ax>pop        regad
endmret
readword endpcmpstr proc                                                                         ; 比較兩個字符串的字典序, 通過堆棧傳遞參數,cl 返回結果irp        regad, <ax, bx, dx, si, di, bp, es>push       regad
endmmov        bp, spadd        bp, 16mov        di, [bp]add        bp, 2mov        si, [bp]mov        ax, datamov        es, axmov        cx, WordMaxLencldrepe       cmpsbmov        cl, [si - 1]                                       ; 計算放回值,通過兩個不同的位置相減得到sub        cl, es:[di - 1]irp        regad, <es, bp, di, si, dx, bx, ax>pop        regad
endmret        4
cmpstr endpexchangeword proc                                                                   ; 交換兩個單詞的位置,通過堆棧傳遞兩個單詞的地址irp        regad, <ax, bx, cx, dx, si, di, bp, es>push       regad
endmmov        bp, spadd        bp, 18mov        ax, [bp]mov        si, axadd        bp, 2mov        ax, [bp]mov        di, axmov        ax, datamov        es, axmov        cx, type worddataxchglop:      mov        al, [si]                                           ; 按字節交換單詞xchg       al, es:[di]xchg       al, [si]inc        siinc        diloop       xchglopirp        regad, <es, bp, di, si, dx, cx, bx, ax>pop        regad
endmret        4
exchangeword endpadjust proc                                                                         ; 調整單詞的位置,通過堆棧傳遞單詞地址irp        regad, <ax, bx, cx, dx, si, di, bp, es>push       regad
endmmov        bp, spadd        bp, 18mov        dx, [bp]mov        ax, dxsub        ax, type worddataadjlop:       cmp        dx, offset wordsjz         adjret                                             ; 如果在第一個位置返回push       dxpush       axcall       cmpstr                                             ; 和上一個字符串比較test       cl, 80h                                            ; 判斷比較結果,判斷 cl 是否是負數jz         adjret                                             ; 如果大于 0 說明到達對應位置push       dxpush       axcall       exchangeword                                       ; 向前調整sub        dx, type worddatasub        ax, type worddatajmp        adjlopadjret:       irp        regad, <es, bp, di, si, dx, cx, bx, ax>pop        regad
endmret        2
adjust endpexpldisp proc                                                                       ; 通過堆棧傳遞需要輸出的內容mov        bp, spadd        bp, 2push       simov        ax, [bp]mov        si, axexplinitmov        cx, 80                                             ; 一行 80 個字符dispscreencmp        al, '$'jz         showexplcurse      2, 0mov        cx, 80dispscreenshowexpl:     mov        dx, sipop        siret        2
expldisp endpcursep proccurse      2, 0ret
cursep endpexplainintip procexplinitret
explainintip endpcmd1 proccmp        al, 'e'jnz        cmd1retlea        ax, [si].explainpush       axcall       expldispmov        al, 0mov        flag, alcmd1ret:      ret
cmd1 endpcmd2 proccmp        al, 's'jnz        cmd2retlea        ax, [si].synpush       axcall       expldispmov        al, 0mov        flag, alcmd2ret:      ret
cmd2 endpcmd3 proccmp        al, 'o'jnz        cmd3retlea        ax, [si].opppush       axcall       expldispmov        al, 0mov        flag, alcmd3ret:      ret
cmd3 endpcmd4 procirp        regad, <ax, bx, cx, dx, si, di, es, ds>push       regad
endmcmp        al, 'w'jnz        cmd4retmov        al, 1                                              ; 上一步是修改解釋則寫入cmp        flag, aljnz        cmd4retmov        cx, 100lea        ax, [si].explainmov        di, axlea        ax, showbufmov        si, axmov        ax, esmov        bx, dsxchg       ax, bxmov        ds, bxmov        es, axcldrep        movsbmov        al, 0mov        flag, alcmd4ret:      irp        regad, <ds, es, di, si, dx, cx, bx, ax>pop        regad
endmret
cmd4 endpcmd5 procirp        regad, <ax, bx, cx, dx, si, di, es, ds>push       regad
endmcmp        al, 'd'jnz        cmd5retmov        ax, cntworddec        axmov        dx, type worddatamul        dxadd        ax, offset wordsmov        bx, simov        dx, bxadd        dx, type worddataswap:         cmp        bx, axjz         cmd5retpush       dxpush       bxcall       exchangewordadd        bx, type worddataadd        dx, type worddatajmp        swapcmd5ret:      dec        cntwordirp        regad, <ds, es, di, si, dx, cx, bx, ax>pop        regad
endmret
cmd5 endpinputinitp procinputinitdispscreenret
inputinitp endpcmdinitp proccmdinitret
cmdinitp endpinputbufclear procirp        regad, <ax, bx, cx, dx, si, di, es, ds>push       regad
endmmov        cx, WordMaxLen+1                                   ; 清空輸入框的內容mov        ax, datamov        es, axlea        ax, inputbufmov        di, axmov        al, '$'cldrep        stosbirp        regad, <ds, es, di, si, dx, cx, bx, ax>pop        regad
endmret
inputbufclear endpopword proc                                                                         ; 對選中的單詞進行操作irp        regad, <ax, bx, cx, dx, si, di, es>push       regad
endmmov        ax, es:[seletw]cmp        ax, 0jz         opretmov        ax, es:[shwords]mov        si, axpush       sicall       inputinitppop        sicall       explainintipwaitinput:    mov        ah, 0                                              ; 等待輸入int        16hcmp        al, ':'inputcmd:     push       axjnz        waitinputcall       cmdinitppop        axmov        ah, 0ehint        10hmov        ah, 0                                              ; 等待輸入int        16hmov        ah, 0ehint        10hcmp        al, 'q'                                            ; 退出當前單詞的查詢jz         opretcall       cmd1call       cmd2call       cmd3call       cmd4call       cmd5cmp        al, 'd'                                            ; 已經把當前單詞刪除直接退出jz         opretcmp        al, 'i'jnz        waitinputmov        al, 1                                              ; 設置為 1 表示修改mov        flag, almov        cx, 100mov        al, '$'                                            ; 清空輸入緩存lea        dx, showbufmov        di, dxrep        stosblea        dx, showbufmov        di, dxcall       explainintipmov        cx, 80                                             ; 允許輸入單詞的長度為 80inputexp:     mov        ah, 0                                              ; 等待輸入int        16hcmp        al, ':'                                            ; 遇到 : 表示輸入解釋結束,進入下一個命令jz         inputcmdmov        bh, 0mov        ah, 0ehint        10hstosbloop       inputexpjmp        waitinputopret:        call       cmdinitpcall       inputbufclear                                      ; 清空輸入緩存call       explainintip                                       ; 清屏irp        regad, <es, di, si, dx, cx, bx, ax>pop        regad
endmret
opword endpmatch proc                                                                          ; 匹配單詞irp        regad, <ax, bx, cx, dx, si, di, es, ds, bp>push       regad
endmmov        ax, 0mov        es:[seletw], axscroll     0, 1, 0, 17, 79, 0f0h, u                           ; 清屏curse      1,0mov        es:[curp], 1                                       ; 保存光標位置mov        cx, ds:[cntword]lea        ax, wordsmov        si, axlea        ax, inputbufmov        di, axmov        ax, datamov        es, axlop2:         push       cxpush       dipush       simov        cx, 30                                             ; 開始匹配repe       cmpsbmov        al, '$'                                            ; 遇到 $ 表達匹配成功cmp        al, es:[di - 1]jnz        notmatchpush       esmov        ax, showdatamov        es, axpop        bppop        sipush       sipush       bpmov        bx, es:[seletw]shl        bx, 1add        bx, offset shwords                                 ; 計算保存新的匹配單詞的位置mov        ax, simov        es:[bx], ax                                        ; 保存單詞的地址inc        es:[seletw]                                        ; 計數pop        esmov        cx, 30pop        si                                                 ; 取出當前單詞的首地址push       sidispscreen                                                    ; 輸出匹配的單詞push       esmov        ax, showdata                                       ; 光標下移mov        es, axinc        es:[curp]                                          ; 光標下移curse      es:[curp], 0pop        esnotmatch:     pop        sipop        dipop        cxmov        ax, siadd        ax, type worddata                                  ; 匹配下一個單詞mov        si, axloop       lop2push       esmov        ax, showdatamov        es,axmov        ax, 0cmp        es:[seletw], axpop        esjnz        matchretlea        ax, noword                                         ; 沒有匹配到任何單詞輸出錯誤mov        si, axmov        ax, showdatamov        ds, axmov        cx, 80dispscreenmatchret:     irp        regad, <bp, ds, es, di, si, dx, cx, bx, ax>pop        regad
endmret
match endpcode endsend start ; set entry point and stop the assembler.

代碼有些 bug 使用時可以自己測試修改。

單詞文件

absent
not present, lacking, or not attending
missing
present
ambitious
having a strong desire for success, power, or wealth
aspiring
content
blind
lack of sight or insight
sightless
seeing
bound
obliged by law, morality, or contract
limited
unlimited
bourgeois
relating to the middle class or its values and attitudes
middle-class
proletarian
cavity
an empty space within a solid object or among layers
hollow
solid
conservative
inclined to preserve existing conditions, ideas, or institutions
traditionalist
progressive
decisive
resolute; determined to act in a particular way
firm
indecisive
divine
relating to deity or the supernatural; godlike
heavenly
earthly
empirical
based on experiment and observation alone, without using intuitions or theories
experimental
theoretical
fantastic
imaginatively appealing or amusing
bizarre
realistic
fitting
appropriate and suitable for a particular purpose or occasion
appropriate
inappropriate
gracious
characterized by kindness, courtesy, and generosity
kind
rude
grassy
covered with grass or resembling grass
verdant
barren
hoarse
rough or low in tone; not clear and ringing
gravelly
melodious
hostile
showing active dislike or enmity
unfriendly
friendly
icy
extremely cold or covered with ice
frosty
warm
inclusive
including everything within a specified category or boundary
comprehensive
exclusive
linear
of or relating to a line or lines
straight
nonlinear
luminous
emitting or reflecting light; glowing
bright
dark
main
most important or prominent; chief
principal
secondary
microscopic
too small to be seen by the unaided eye; requiring a microscope for examination
minute
macroscopic
neighbouring (or neighboring)
located close to someone or something else; adjacent
adjacent
distant
novel
new and different from what has been done or known before; original
original
familiar
optical
relating to the sense of sight or to light
visual
tactile
practicable
capable of being accomplished or put into practice; feasible
feasible
impractical
qualitative
concerned with qualities rather than quantities or measurements
nonquantitative
quantitative
regenerative
tending to reform or restore itself after injury or loss
restorative
destructive
rigorous
very strict and exacting; stern or severe
strict
lenient
senseless
lacking common sense or judgment; wildly foolish
foolish
sensible
smart
intelligent and well-informed; clever and able to make good judgments
intelligent
dumb
thorough
carried out carefully and completely; leaving no room for error or omission
complete
superficial
tiresome
making you feel tired or bored; annoying or difficult to deal with
annoying
pleasant
uncertain
not known or established; doubtful or not definite
unclear
certain
versatile
capable of doing many different things well; adaptable and flexible
adaptable
one-dimensional
vulgar
lacking in refinement or good taste; crude or offensive in language or behavior
rude
elegant
workpiece
an object that is being worked on or that is to be worked on; a piece of workmanship
project
tool
white
of the color of pure snow; having no color or no pigment; lacking normal color as a result of genetic defect or disease
pale
blac

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37115.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37115.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37115.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據庫原理之數據庫基本概念

目錄 前言 基本概念 數據庫完整性 前言 今天我們來看看數據庫的基本概念&#xff0c;幫助大家對數據庫有一點點最基本的了解 基本概念 4個基本概念 數據data&#xff1a;描述事物的符號&#xff0c;數據庫中存儲的基本對象。 數據庫Database&#xff1a;長期存儲在計算機…

山東大學多核并行2024年回憶版

2024.6.13回憶版 矩陣向量乘不可整除代碼 集合通信與點對點通信的區別 塊劃分、循環劃分、循環塊劃分&#xff08;14個向量&#xff0c;4個進程&#xff09; 按行訪問還是按列訪問快 SISD系統問題 循環依賴問題 問題&#xff1a;為什么不能對這個循環并行化&#xff0…

Python邏輯控制語句 之 綜合案例

需求&#xff1a; 1. 提示?戶輸?登錄系統的?戶名和密碼 2. 校驗?戶名和密碼是否正確(正確的?戶名:admin、密碼:123456) 3. 如果?戶名和密碼都正確&#xff0c;打印“登錄成功!”&#xff0c;并結束程序 4. 如果?戶名或密碼錯誤&#xff0c;打印“?戶名或密碼錯誤!”…

Django 對模型創建的兩表插入數據

1&#xff0c;添加模型 Test/app8/models.py from django.db import modelsclass User(models.Model):username models.CharField(max_length50, uniqueTrue)email models.EmailField(uniqueTrue)password models.CharField(max_length128) # 使用哈希存儲密碼first_name …

代碼隨想錄算法訓練營第一天 [300.最長遞增子序列 674. 最長連續遞增序列 718. 最長重復子數組]

代碼隨想錄算法訓練營第一天 [300.最長遞增子序列 674. 最長連續遞增序列 718. 最長重復子數組] **一、300.最長遞增子序列 ** 鏈接: 代碼隨想錄. 思路&#xff1a;dp[i] 以nums[i]為結尾的遞增子序列最大長度&#xff0c;下標為i的數&#xff0c;需要和下標為0開始一直到下標為…

DM 的斷點續傳測試

作者&#xff1a; 大魚海棠 原文來源&#xff1a; https://tidb.net/blog/4540ae34 一、概述 DM有all、full、incremental三種數據遷移同步方式&#xff08;task-mode&#xff09;&#xff0c;在all同步模式下&#xff0c;因一些特殊情況&#xff0c;需要變更上游MySQL的數…

LDO產品的基礎知識解析

低壓降穩壓器 (LDO)是一種用于調節較高電壓輸入產生的輸出電壓的簡單方法。在大多數情況下&#xff0c;低壓降穩壓器都易于設計和使用。然而&#xff0c;如今的現代應用都包括各種各樣的模擬和數字系統&#xff0c;而有些系統和工作條件將決定哪種LDO最適合相關電路&#xff0c…

鄧普頓的五大投資原則

在《逆向投資 鄧普頓的長贏投資法》的推薦序《“逆向投資大神”鄧普頓五大投資原則》中&#xff0c;劉建位總結了鄧普頓的五大投資原則&#xff0c;分別是“以逆向投資為中心”“以價值投資為選股根本”“以分散投資為組合穩定器”“以全球投資來擴大機會池”“以極度悲觀點投資…

rust單元測試順序執行

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站。 存在的問題 有時候&#xff0c;不同單元測試之間可能會競爭相同的資源&#xff0c;比如讀寫相同的文件。在這種情況下&#xff0c;如果…

springboot的特點是什么?

Spring Boot是一個基于Spring框架的開源項目&#xff0c;它旨在簡化Spring應用的初始搭建和開發過程。以下是Spring Boot的一些主要特點&#xff1a; 快速開發&#xff1a; Spring Boot提供了許多默認配置&#xff0c;使得開發者可以更快地開始開發應用程序&#xff0c;而無需…

秋招突擊——6/28、6.29——復習{數位DP——度的數量}——新作{}

文章目錄 引言復習數位DP——度的數量個人實現參考實現 總結 引言 頭一次產生了那么強烈的動搖&#xff0c;對于未來沒有任何的感覺的&#xff0c;不知道將會往哪里走&#xff0c;不知道怎么辦。可能還是因為實習吧&#xff0c;再加上最近復習也沒有什么進展&#xff0c;并不知…

Vmware Windows虛擬機卡死了

每次遇到這個問題我都想罵娘&#xff01;&#xff01;&#xff01;&#xff01; 這一次是怎么解決的呢&#xff1f; 解決&#xff1a;我給虛擬機連上網就好了&#xff01; 重啟&#xff0c;開關機&#xff0c;一點用都沒有。

前端 JS 經典:箭頭函數的意義

箭頭函數是為了消除函數的二義性。 1. 二義性 函數的二義性指函數有不同的兩種用法&#xff0c;就造成了二義性&#xff0c;函數的兩種用法&#xff1a;1. 指令序列。2. 構造器 1.1 指令序列 就是調用函數&#xff0c;相當于將函數內部的代碼再從頭執行一次。 1.2 構造器 …

【Linux 工具 】 tcpdump詳細使用說明

目錄 1. 安裝 tcpdump 2. 使用 tcpdump 命令 3. 監聽所有網絡接口 4. 監聽指定網絡接口 5. 保存數據包到文件 6. 讀取保存的數據包文件 7. 過濾數據包 過濾源 IP 地址: 過濾目標 IP 地址: 過濾源和目標 IP 地址: 過濾指定端口: 過濾指定協議: 8. 顯示數據包詳…

爬蟲實戰:使用PHP爬取攜程旅游信息

隨著旅游業的不斷發展&#xff0c;旅游信息變得非常豐富。為了方便大家獲取更全面、準確的旅游信息&#xff0c;我們可以使用爬蟲來抓取旅游網站上的數據&#xff0c;并進行分析和處理。本文將介紹如何使用php爬取攜程旅游信息。 爬蟲基礎知識 爬蟲是一種自動化程序&#xff…

Android SurfaceFlinger——OpenGL ES基礎介紹(十二)

前面的文章我們介紹了 HWC,知道他在 Android 系統中用于硬件加速屏幕合成的一個組件。負責將多個 Surface(包括那些可能通過 OpenGL ES 渲染的內容)合成到一起,并輸出到屏幕。HWC 利用底層硬件(如 GPU)來執行合成操作,減少 CPU 的負擔,提高效率和電池壽命。 一、概述 …

如何借助 LLM 設計和實現任務型對話 Agent

1 引言 在人工智能的快速發展中&#xff0c;任務型對話 Agent 正成為提升用戶體驗和工作效率的關鍵技術。這類系統通過自然語言交互&#xff0c;專注于高效執行特定任務&#xff0c;如預訂酒店或查詢天氣。盡管市場上的開源框架如 Rasa 和 Microsoft Bot Framework 在對話理解…

【筆記】一些PDN建立成功后返回的IP地址情況及日志分析

背景 Protocol滿足運營商需求,即便是PDN的通的,也可能因為網絡問題導致MMS、熱點等業務無法正常工作。(丟包?網絡無響應?服務器異常) 或者Protocol跟運營商需求不一致,直接SETUP_DATA_CALL失敗了。 一般而言,如果APN Protocol 參數配置不符合運營商要求,在 PDN 建立…

正則表達式結合自定義function使用replace

replace使用正則表達式和function替換 js代碼 html代碼 場景描述 輸入不同數量的人名&#xff0c;根據不同的人數打印不同的描述 代碼分析 首先在js代碼中使用templates定義了5個模板&#xff0c;通過 var idx Math.min(names.length, 4)根據人數獲取對應的模板的索引&…

tqdm庫教程 - 進度條可視化利器

tqdm庫教程 - 進度條可視化利器 1. 什么是tqdm?2. tqdm的基本用法3. tqdm的高級用法3.1 自定義描述3.2 手動更新進度條3.3 在文件處理中使用tqdm 4. tqdm的其他特性4.1 嵌套進度條4.2 在Jupyter Notebook中使用 5. 總結 1. 什么是tqdm? tqdm是一個Python庫,用于在循環或長時…