相关疑难解决方法(0)

指定_(下划线)变量的位置和方式是什么?

大多数人都知道_IRB作为最后回报值的持有人的特殊含义,但这不是我在这里要求的.

相反,我问的是什么_时候用作普通旧Ruby代码中的变量名.在这里它似乎有特殊的行为,类似于"不关心变量"(àlaProlog).以下是一些说明其独特行为的有用示例:

lambda { |x, x| 42 }            # SyntaxError: duplicated argument name
lambda { |_, _| 42 }.call(4, 2) # => 42
lambda { |_, _| 42 }.call(_, _) # NameError: undefined local variable or method `_'
lambda { |_| _ + 1 }.call(42)   # => 43
lambda { |_, _| _ }.call(4, 2)  # 1.8.7: => 2
                                # 1.9.3: => 4
_ = 42
_ * 100         # => 4200 …
Run Code Online (Sandbox Code Playgroud)

ruby

76
推荐指数
2
解决办法
2万
查看次数

使用虚拟占位符进行Perl赋值

在其他语言中,我使用过Erlang和Python,如果我分割字符串并且不关心其中一个字段,我可以使用下划线占位符.我在Perl中试过这个:

   (_,$id) = split('=',$fields[1]);
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

无法修改./generate_datasets.pl第17行中列表赋值中的常量项,靠近");"
由于编译错误,./generate_datasets.pl的执行被中止.

Perl是否有类似的模式,我可以使用而不是创建一个无用的临时变量?

perl split

25
推荐指数
3
解决办法
3699
查看次数

标签 统计

perl ×1

ruby ×1

split ×1