unless (place =~ /^\./) == 0
Tôi biết trừ khi giống như if not
nhưng còn về điều kiện thì sao?ruby này làm gì?
unless (place =~ /^\./) == 0
Tôi biết trừ khi giống như if not
nhưng còn về điều kiện thì sao?ruby này làm gì?
Kiểm tra xem chuỗi place
có bắt đầu bằng khoảng thời gian .
hay không.
Hãy xem xét điều này:
p ('.foo' =~ /^\./) == 0 # => true
p ('foo' =~ /^\./) == 0 # => false
Trong trường hợp này, nó sẽ không cần phải sử dụng == 0
. place =~ /^\./
sẽ đủ như một điều kiện:
p '.foo' =~ /^\./ # => 0 # 0 evaluates to true in Ruby conditions
p 'foo' =~ /^\./ # => nil
EDIT: /^\./
là một biểu thức chính quy. Dấu gạch chéo bắt đầu và kết thúc biểu thị rằng nó là cụm từ thông dụng, để lại bit quan trọng thành ^\.
. Ký tự đầu tiên, ^
đánh dấu "bắt đầu chuỗi/dòng" và \.
là chữ ký tự .
, vì ký tự dấu chấm thường được coi là ký tự đặc biệt trong cụm từ thông dụng.
Để đọc thêm về cụm từ thông dụng, hãy xem Wikipedia hoặc trang web tuyệt vời regular-expressions.info.
=~
nghĩa trận đấu regex
/^\./
là một biểu thức chính quy:
/.../
là delimiters cho regex
^
phù hợp với sự khởi đầu của chuỗi hoặc của một dòng (\A
phù hợp khi bắt đầu chỉ có chuỗi)
\.
khớp với chữ.
Làm thế nào để thực hiện điều đó ... nghĩa là gì = ~ /^\./ có nghĩa là – Trace
http://perldoc.perl.org/perlre.html – SilverbackNet
'= ~' là để đối sánh cụm từ thông dụng .... '^'có nghĩa là bắt đầu chuỗi ... và' \ .' là dấu chấm (là ký tự đặc biệt, do đó phải được thoát) .... biểu thức được đặt trong '/ /' –
st0le