【问题标题】:Ruby Terminal -e: making decisions based on $_ comparisonsRuby Terminal -e:根据 $_ 比较做出决策
【发布时间】:2021-03-16 18:57:29
【问题描述】:

这是我的代码,它运行但什么也不做。

ls | ruby -ne 'File.delete($_) if File.extname($_)==".jpg"' 

我认为这是字符串比较问题,但下面的代码有效。

ruby -e 'puts "dsad" if "e" == "e"'

这让我相信 $_ 是一个不同的类型。如何对其进行比较,尤其是与我的初始代码行相关的情况。

【问题讨论】:

    标签: ruby terminal


    【解决方案1】:

    删除换行符。

    ls | ruby -ne 'File.delete($_.chomp) if File.extname($_.chomp)==".jpg"' 
    

    【讨论】:

    • 您也可以直接在开头拨打chomp。 (不带接收器)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多