Tôi đang cố gắng để hiểu được những kịch bản được trình bày trên this site:Ý nghĩa của toán tử dấu + phần trăm trong Ruby, như trong "% |" là gì?
#!/usr/bin/env ruby
require ENV['TM_SUPPORT_PATH'] + '/lib/escape.rb'
def terminal_script_filepath
%|tell application "Terminal"
activate
do script "jsc -i #{e_as(e_sh(ENV['TM_FILEPATH']))}"
end tell|
end
open("|osascript", "w") { |io| io << terminal_script_filepath }
Quan trọng nhất là phần mà các chức năng terminal_script_filepath
bắt đầu bằng:
%| …
… |
... và nơi mà nó là "phân tích" trong:
{ |io| io << terminal_script_filepath }
Khái niệm nào về Ruby được sử dụng ở đây?
Tôi biết rằng open()
có đường ống giúp tôi nạp dữ liệu vào STDIN của quy trình, nhưng cách nhập vào từ terminal_script_filepath
đến io
? Tôi cũng biết số basic %
operations with strings, chẳng hạn như %w
, nhưng đường ống làm gì ở đây?
+1 cho 'phần trăm' ống có thể googleable ' –