25 ŞUBAT 2010, PERŞEMBE
Yakut: çok satırlı hayır birleştirme ile dize yazabilirim?
Bu biraz daha iyi görünmesi için var mı?
conn.exec 'select attr1, attr2, attr3, attr4, attr5, attr6, attr7 '
'from table1, table2, table3, etc, etc, etc, etc, etc, '
'where etc etc etc etc etc etc etc etc etc etc etc etc etc'
Bir şekilde birleştirme ima var gibi?
CEVAP
17 Mayıs 2011, Salı
Orada parçalara bu cevap yardımcı oldu bana ne gerekli (Kolay çoklu satır birleştirme OLMADAN ekstra boşluk), fakat hiçbiri gerçek bir cevap vardı, ben onları burada derleme:
str = 'this is a multi-line string'\
' using implicit concatenation'\
' to prevent spare \n\'s'
=> "this is a multi-line string using implicit concatenation to eliminate spare
\\n's"
Bir bonus olarak, burada bir versiyonu komik HEREDOC sözdizimi (this link) kullanarak:
p <<END_SQL.gsub(/\s /, " ").strip
SELECT * FROM users
ORDER BY users.id DESC
END_SQL
# >> "SELECT * FROM users ORDER BY users.id DESC"
İkincisi çoğunlukla işleme daha fazla esneklik gerektiren durumlar için olurdu. Ben şahsen bunu sevmiyorum, garip bir yer w işleme koyar.r.t. string (önünde, ama genellikle daha sonra gelen örnek yöntemleri kullanarak yani), ama var.
Bu kadar yazmaya kurtarmaz, ama işaretler, beni kullanarak daha güzel görünüyor.
EDİT: bir tane daha ekliyor
p %{
SELECT * FROM users
ORDER BY users.id DESC
}.gsub(/\s /, " ").strip
# >> "SELECT * FROM users ORDER BY users.id DESC"
Bunu Paylaş:
Ne zaman Dize kullanmak daha iyi olur....
SQL ile Null Dize Birleştirme Server...
Dize birleştirme SQLite çalışmıyor...
'en iyi dize birleştirme yöntemi ...
Oracle dize birleştirme operatörü nedi...