SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • edwin maldonado

    edwin maldon

    28 Mart 2009
  • InsideBlackBerry

    InsideBlackB

    14 Aralık 2009
  • sghaff1

    sghaff1

    23 Mart 2009