惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Blog — PlanetScale
Blog — PlanetScale
小众软件
小众软件
F
Fortinet All Blogs
博客园 - 叶小钗
博客园_首页
D
DataBreaches.Net
Apple Machine Learning Research
Apple Machine Learning Research
U
Unit 42
爱范儿
爱范儿
aimingoo的专栏
aimingoo的专栏
博客园 - Franky
Martin Fowler
Martin Fowler
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
A
About on SuperTechFans
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
IT之家
IT之家
M
MIT News - Artificial intelligence
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog

Swift

都 vibe coding 了,为啥不把 Rust 项目 rewrite 到 Swift ? 应该怎么解读 swiftui 的崩溃报告? FoundationModels 框架实践 Swift DocC 构建的博客 Swift server 要支棱起来了 求问贴,如果在 swiftUI 中接入 MySQL C client Swift 萌新, DispatchQueue 的一个问题 分享一下一个 Web 前端刚学习 Swift 时候的心得博文 Swift 操作 plist 文件 使用 SwiftUI + TCA 重构 Instagram Clone:从 Flutter 到 SwiftUI 的迁移实践 激发编程激情,轻松掌握 Swift SwiftUI 分享个基于 UICollectionView 封装的数据驱动和声明式组件库 ListKit 问一个关于 CALayer 的资源释放问题 SwiftUI 的 TextEditor 在 macOS Sequoia 15.0 上输入中文时又会这样一跳一跳的了 Swift 中系统 API delegate 参数一定要在当前类实现传 self 吗 ScreenCaptureKit 里面的 SCStreamOutput 没有被顺利触发,是那个步骤错了,求解惑 似乎 SwiftUI app 在 macOS 15 上启动速度变快很多? 请教一个关于 Swift 的基础小问题 离线 iOS app 也需要 ICP ? 请教 SwiftUI 布局的问题 ios 17 widget 无法正确更新 core data 有没有 Swift ui 版本的 tailwind css? swiftui 里,这里用 hstack,为什么是垂直布局,而不是水平布局? 大家觉得 Swift 的参数必须按序提供怎么样? Swift 开源的组件库好像不是很多啊 Swift 如何像 Python 那样 崩溃了输出 backtrace 或者至少是哪行出错了。。。 请教一下各位 iOSer 巨佬们一个 SwiftUI sheet 组件的问题 请教一下各位 iOSer 巨佬们一个 SwiftUI 中 HStack 的布局问题 swiftui 有好用的组件库吗? 求问:苹果手机是否无法像安卓一样,可以扫描出本地的音乐?
5 分钟用 Swift 写个 ripripgrep
MrKrabs · 2025-03-23 · via Swift

你别管什么 NFC ,NFD ,咱只是想搜出日语呢

import Foundation
import ArgumentParser

@main
struct Ripripgrep: ParsableCommand {

  @Option(name: .shortAndLong)
  var patterns: [String]

  @Argument(help: "use stdin if no args")
  var files: [String] = []

  func validate() throws {
    if patterns.isEmpty {
      fatalError("no patterns!")
    }
  }

  struct Worker {
    var line: UnsafeMutablePointer<CChar>?
    var linecap = 0
    let patterns: [Regex<AnyRegexOutput>]

    mutating func start(stream: UnsafeMutablePointer<FILE>) {
      while case let linelen = getline(&line, &linecap, stream),
            linelen > 0 {
        let line = String(decoding: UnsafeRawBufferPointer(start: line!, count: linelen-1), as: UTF8.self)
        if patterns.allSatisfy({ line.contains($0) }) {
          print(line)
        }
      }
    }
  }

  func run() throws {

    var worker = Worker(patterns: try patterns.map { try Regex($0).ignoresCase() })

    if files.isEmpty {
      // use stdin
      worker.start(stream: stdin)
    } else {
      for file in files {
        let stream = fopen(file, "rb")!
        defer { fclose(stream) }
        worker.start(stream: stream)
      }
    }
  }

}