0

Ruby – return

เรื่องหนึ่งอาจจะยากที่สุดเวลาเขียน Ruby สำหรับคนที่เขียน Java มาก่อนอาจจะเป็นเรื่อง return

ผมว่าดูตัวอย่างพวกนี้แล้วก็จะเข้าใจได้ไม่ยาก

เหมือนกัน


def func1
  return 10
end

def func1
  10
end

ไม่แน่ใจว่าเหมือนกันไหมแต่ return ค่าเดียวกัน


def func2 a
  if a > 100
    return 10
  else
    return 20
  end
end

def func2 a
  if a > 100
    10
  else
    20
  end
end

แต่ถ้ามันมีหลาย ๆ คำสั่ง มันก็จะเอาคำสั่งสุดท้าย แบบข้างล่างนี่ก็จะได้ผลเหมือนกัน

def func3
  func4(10)
  return func5(20)
end

def func3 a
  func4(10)
  func5(20)
end

มีคนถามว่าแล้วจะมี return ไปทำไม มีคนตอบว่ามันทำให้ function หยุดตรงกลางได้ เช่น

แบบข้างล่างถ้า a = 101 มันก็จะ return 20 แล้วก็ไม่ไปทำ puts ข้างล่าง

def func6 a
  if a > 100
    return 20
  end
  puts 30
  puts 40
  50
end

ปกติแล้วเวลาเขียน Ruby เราต้องติดเสมอว่าจะ return อะไร

… ถ้ามั่วก็ขออภัย

ป.ล. ท่าพวกนี้ Ruby น่าจะได้มาจาก Scheme แต Scheme จะเขียนหลาย ๆ คำสั่งต่อกันเลยไม่ได้ ต้องมีบางทีต้องไปอยู่ใน (begin ) … แต่ช่างเถอะ :-P

0

คำแนะนำเกี่ยวกับ PHP บน Windows

มิตรสหายหลายท่านเขียน PHP กันบน Windows ครับ ผมก็ไม่ได้ใช้นานแล้ว ตอนโน้นผมใช้ XAMPP มันก็ ok อยู่นะครับ แต่ถ้า project ที่คิดว่าจะใช้เร็ว ๆ นี้ก็อาจจะเลือกตัวเก่า ๆ หน่อยนะครับสัก PHP 5.3 เพราะว่า server หลายตัวยังใช้อยู่ อย่างเช่น Ubuntu 12.04 LTS ก็ยังใช้ PHP 5.3.10 อยู่ เป็นต้น ครับ

0

ใช้ route ที่ controller อยู่ใน module


angular.module('mymod', [])
.controller('CorpusCtrl', function($scope) {
$scope.foo = 'bar';
})
.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/corpus', {templateUrl: 'partials/corpus.html', controller: 'CorpusCtrl'}); // อย่าลืมใส่ quote คล่อมชื่อ controller ด้วย

}]);

 

Partials/corpus.html:


{{foo}}

 

index.html:


<!doctype html>
<html lang="en" ng-app="mymod">
<head>
<title>MyMod</title>
</head>

<body>
<div ng-view></div>

</body>
<script type="text/javascript" src="http://localhost:3000/assets/application.js"></script>
</html>

อันนี้มีไฟล์ javascript อะไรบ้างก็ใส่เข้าไป ผมใช้ Rails เลยเรียก application.js  ที่เดียว

0

Kohana CLI (2)

หลังจาก เรียกใช้ Kohana จาก command line interface ได้แล้ว แต่ทีนี้อยากใส่ค่าตัวแปรอะไรเข้าไปด้วย ก็ทำง่ายๆ เลยมันมี option –get กับ –post อยู่

ยกตัวอย่างเช่น ผมมี controller ชื่อ home และ action คือ index และอยากส่งค่า x=10 และ y=abc เข้าไปทาง post method ก็ทำแบบนี้

php index.php –uri=”home/index” –post=”x=10&y=abc”

เสร็จละ

1

กรณีเจ๊งของ PHP และ regular expression เวลาเจอภาษไทย + UTF-8

ถ้ามี code แบบนี้ใช้ charset เป็น UTF-8

<?php
	print_r(preg_split("/\\s/", "ประเภท"));
?>

แบบนี้มันไม่น่าจะ split ได้เพราะว่า ไม่มี space ใน “ประเภท” เลยแต่มัน split ได้ซะงั้น

Array
(
    [0] => เธ›เธฃเธฐเน€เธ
    [1] => เธ—
)

แถวๆ “ภ” มันคงแปลงไปเป็นอะไรแล้ว code ไปเป็น space มั้ง

แต่ไม่ว่าจะเพราะว่าอะไร มีท่าแก้ง่ายๆ แบบนี้ใส่ u เข้าไป หายครับ

<?php
	print_r(preg_split("/\\s/u", "ประเภท"));
?>

ผมใช้ php 5.3.5 ที่มากับ xampp 1.7.4 และทดลองบน Windows 7 ครับ