好的編程語言設計是用簡潔清晰的原語組合復雜功能

首先,函數命名要user friendly,比如最常用的控制臺輸入輸出,input scanf gets read readln readline print println writeline… 我專門詢問了chatgpt,讓它給出流行度百分比最高的組合(ai干這個最在行):input print,次常用的讀寫文本文件:read write,如此四個函數名就搞定了。

然后,功能相近的可以合在一個函數,比如,read有五種格式:

  1. string read(number fp)
  2. null read(number fp, function cb)
  3. string read(string name)
  4. string read(string name, boolean iscmd)
  5. null read(string name, function cb)
  6. null read(string name, boolean iscmd, function cb)

可以用文件指針fpfopen/popen)操作,也可以直接文件名/命令行(以iscmd區分,結束自動fclose/pclose)如果有cb,則為按行讀,每一行作為參數調用cb,如果無,則讀取整個文件作為返回值。

那么就可以很靈活地不同組合,比如print(read("foo.txt"))read("foo.txt", print)

再比如正則表達式匹配array match(string str, string pat),可以利用展開語法和format函數一起實現替換功能:

print(format("${0}\n${1}\n${2}\n${3}",...match("Unknown-14886@noemail.invalid","^([\\w\\.-]+)\\@([\\w-]+)\\.([a-zA-Z\\w]+)$")));

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

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

相關文章

基于springboot的在線購票系統/在線售票系統

用戶:注冊,登錄,影院信息,即將上映,電影信息,新聞公告,取票管理,電影評價管理,我的收藏管理,個人中心管理員:登錄,個人中心&#xff0…

Spring Boot項目打包部署常見問題解決方案

問題一:JAR包缺少主清單屬性 問題描述 在使用 java -jar 命令啟動Spring Boot項目時,遇到以下錯誤: demo-service.jar中沒有主清單屬性問題原因 pom.xml 中 spring-boot-maven-plugin 配置不正確打包時跳過了主清單文件的生成主類&#xff08…

【分享】外國使館雷電綜合防護系統改造方案(一)

1防雷項目設計思想:1.1設計依據:依據中國GB標準與部委頒發的設計規范的要求,該建筑物和大樓內之計算機房等設備都必須有完整完善之防護措施,保證該系統能正常運作。這包括電源供電系統、不間斷供電系統,空調設備、電腦…

數據結構預備知識

在學習數據結構之前,有些知識是很有必要提前知道的,它們包括:集合框架、復雜度和泛型。本篇文章專門介紹這三個東西。1.集合框架1.1 什么是集合框架Java 集合框架(Java Collection Framework),又被稱為容器,是定義在 j…

【C++】數字cmath庫常用函數

菜鳥傳送門:https://www.runoob.com/cplusplus/cpp-numbers.html 作者廢話:作為一個從業3年的JS人,現在重拾C,雖然眾多語言都有很多相似之處(至少算法,數學運算,數據結構等等那些都是相同的&…

神經網絡(第二課第一周)

文章目錄神經網絡(第二課第一周)(一)神經網絡的內涵(二)如何構建神經元層1、tensorflow如何處理數據(Tensorflow 是由 Google 開發的機器學習包。)2、詳細的一些實驗代碼&#xff0c…

CCF-GESP 等級考試 2025年6月認證C++七級真題解析

1 單選題&#xff08;每題 2 分&#xff0c;共 30 分&#xff09;第1題 已知小寫字母 b 的ASCII碼為98&#xff0c;下列C代碼的輸出結果是&#xff08; &#xff09;。#include <iostream>using namespace std;int main() { char a b ^ 4; cout << a; …

【HarmonyOS】鴻蒙應用開發中常用的三方庫介紹和使用示例

【HarmonyOS】鴻蒙應用開發中常用的三方庫介紹和使用示例 截止到2025年&#xff0c;目前參考官方文檔&#xff1a;訪問 HarmonyOS三方庫中心 。梳理了以下熱門下載量和常用的三方庫。 上述庫的組合&#xff0c;可快速實現網絡請求、UI搭建、狀態管理等核心功能&#xff0c;顯著…

SpringBoot 獲取請求參數的常用注解

SpringBoot 提供了多種注解來方便地從 HTTP 請求中獲取參數以下是主要的注解及其用法&#xff1a;1. RequestParam用于獲取查詢參數(URL 參數)&#xff0c;適用于 GET 請求或 POST 表單提交。GetMapping("/user") public String getUser(RequestParam("id"…

【Linux篇章】Socket 套接字,竟讓 UDP 網絡通信如此絲滑,成為一招致勝的秘籍!

本篇文章將帶大家了解網絡通信是如何進行的&#xff08;如包括網絡字節序&#xff0c;端口號&#xff0c;協議等&#xff09; &#xff1b;再對socket套接字進行介紹&#xff1b;以及一些udp-socket相關網絡通信接口的介紹及使用&#xff1b;最后進行對基于udp的網絡通信&#…

GIF圖像格式

你可能已經知道&#xff0c;GIF 是一種光柵圖像文件格式&#xff0c;它在不損失圖像質量的前提下提供壓縮功能&#xff0c;并且支持動畫和透明度。 GIF 是“Graphics Interchange Format&#xff08;圖形交換格式&#xff09;”的縮寫。由于其良好的兼容性以及在不同應用程序和…

D3.js的力導向圖使用入門筆記

D3.js是一個用于數據可視化的JavaScript庫,廣泛應用于Web端的數據交互式圖形展示 中文文檔&#xff1a;入門 | D3 中文網 一、D3.js核心特點 1、核心思想 將數據綁定到DOM元素&#xff0c;通過數據動態生成/修改可視化圖形。 2、應用場景 交互式圖表&#xff1a;如動態條…

Zookeeper的分布式事務與原子性:深入解析與實踐指南

引言在分布式系統架構中&#xff0c;事務管理和原子性保證一直是極具挑戰性的核心問題。作為分布式協調服務的標桿&#xff0c;Apache Zookeeper提供了一套獨特而強大的機制來處理分布式環境下的原子操作。本文將深入探討Zookeeper如何實現分布式事務的原子性保證&#xff0c;分…

Lua(迭代器)

Lua 迭代器基礎概念Lua 迭代器是一種允許遍歷集合&#xff08;如數組、表&#xff09;元素的機制。迭代器通常由兩個部分組成&#xff1a;迭代函數和狀態控制變量。每次調用迭代函數會返回集合中的下一個元素。泛型 for 循環Lua 提供了泛型 for 循環來簡化迭代器的使用。語法如…

發布 VS Code 擴展的流程:以顏色主題為例

發布 VS Code 擴展的流程&#xff1a;以顏色主題為例 引言&#xff1a;您的 VS Code 擴展在市場中的旅程 Visual Studio Code (VS Code) 的強大擴展性是其廣受歡迎的核心原因之一&#xff0c;它允許開發者通過添加語言支持、調試器和各種開發工具來定制和增強其集成開發環境&…

C++ 多線程(一)

C 多線程&#xff08;一&#xff09;1.std中的thread API 介紹開啟一個線程獲取線程信息API交換兩個線程2.向線程里傳遞參數的方法第一種方式&#xff08;在創建線程的構造函數后攜帶參數&#xff09;第二種方式&#xff08;Lambda&#xff09;第三種方式&#xff08;成員函數&…

自動駕駛訓練-tub詳解

在 Donkeycar 的環境里&#xff0c;“tub” 是一個很關鍵的術語&#xff0c;它代表的是存儲訓練數據的目錄。這些數據主要來源于自動駕駛模型訓練期間收集的圖像和控制指令。 Tub 的構成 一個標準的 tub 目錄包含以下兩類文件&#xff1a; JSON 記錄文件&#xff1a;其命名格式…

CVPR多模態破題密鑰:跨模對齊,信息串供

關注gongzhonghao【CVPR頂會精選】當今數字化時代&#xff0c;多模態技術正迅速改變我們與信息互動的方式。多模態被定義為在特定語境中多種符號資源的共存與協同。這種技術通過整合不同模態的數據&#xff0c;如文本、圖像、音頻等&#xff0c;為用戶提供更豐富、更自然的交互…

小米路由器3G R3G 刷入Breed和OpenWrt 插入可共享網絡的usb隨身WiFi

小米 R3G 參數&#xff08;以下加黑加粗需要特別關注&#xff0c;灰常詳細&#xff09; 市面上有R3G和R3Gv2兩種型號, 注意區分, 后者是縮水版, 沒有USB口. 內存只有128M, Flash只有16M. 這里描述的只適用于R3G. 就是這樣 操作步驟開始&#xff0c;&#xff0c;注&#xff1a…

SpringBoot實現Serverless:手擼一個本地函數計算引擎

前言 最近突然冒出一個想法&#xff1a;能不能用SpringBoot自己實現一個類似AWS Lambda或阿里云函數計算的執行引擎&#xff1f; 說干就干&#xff0c;于是從零開始設計了一套基于SpringBoot的Serverless執行框架。 這套框架支持函數動態加載、按需執行、資源隔離&#xff0c;甚…