2017年10月31日 星期二

C#語法糖

無無聊聊翻開了本c# in a nutshell看了一下 發現了一個和c++幾乎一模一樣的語法糖
using System;
public class Wine
{
  public decimal Price;
  public int Year;
  public Wine (decimal price) { Price = price; }
  public Wine (decimal price, int year) : this (price) { Year = year; }
}
和以下這段code是等價的
using System;
public class Wine
{
  public decimal Price;
  public int Year;
  public Wine (decimal price) { Price = price; }
  public Wine (decimal price, int year) { Wine(price); Year = year; }
}
一樣都會改Price的值 上網找了一下 發現原來還有很多方便的語法糖 以下節錄幾個常用的
經過兩次變異的委託寫法
真的易用多了一開始推出的時候真的完全看不懂
class MyClass
{
    public delegate void DoSomething(int a);
 
    //定義方法委託
    private void DoIt(int a) {
        Console.WriteLine(a);
    }
 
    private void HowtoDo(DoSomething doMethod,int a) {
        doMethod(a);
    }
 
    public static void Main(string[] args) {
        MyClass mc = new MyClass();
        //調用定義的方法委託
        mc.HowtoDo(new DoSomething(mc.DoIt), 10);
        int x = 10;
        //使用匿名委託
        mc.HowtoDo(delegate(int a){
            Console.WriteLine(a + x);
        },10);
 
        //使用lamda表達式
        mc.HowtoDo(a=>Console.WriteLine(a+x),10);
 
        Console.ReadLine();
    }
}

2017年10月26日 星期四

[轉載]Python yield 使用淺析

原文連結
Introduction 
初學 Python 的開發者經常會發現很多Python 函數中用到了yield 關鍵字,然而,帶有 yield 的函數執行流程卻和普通函數不一樣,yield 到底用來做什麼,為什麼要設計yield ?本文將由淺入深地講解 yield 的概念和用法,幫助讀者體會Python 裡yield 簡單而強大的功能。您可能聽說過,帶有yield 的函數在Python 中被稱之為generator(生成器),何謂 generator ?我們先拋開generator,以一個常見的編程題目來展示 yield 的概念。

如何生成斐波那契數列 
斐波那契(Fibonacci)數列是一個非常簡單的遞歸數列,除第一個和第二個數外,任意一個數都可由前兩個數相加得到。用計算機程序輸出斐波那契數列的前N 個數是一個非常簡單的問題,許多初學者都可以輕易寫出如下函數:
清單1. 簡單輸出斐波那契數列前 N 個數
def fab(N):   
    n, a, b = 0, 0, 1   
    while n < N:   
        print b   
        a, b = b, a + b   
        n = n + 1 
執行 fab(5),我們可以得到如下輸出:

windows下使用putty連接codeanywhere wordpress

怕忘記 留個筆記

首先 download Putty和RSA擷取工具
putty.exe puttygen.exe

到codeanywhere登入後右鍵你的wordpress按config複製網址 網址樣子應該是這樣:
hostX.codeanyhost.com:XXXXX

X是數字
然後右鍵wordpress按SSH terminal輸入以下指令取得private key

cat ../.ssh/id_rsa

或者public key(如有需要)
cat ../.ssh/id_rsa.pub

2017年10月25日 星期三

[轉載] [VirtualBox] Samba 下 Ubuntu與Win7共享資料夾設定,利用 host-only網路

原文連結
使用Samba設置Ubuntu有多種方式,像是Guest OS利用橋接方式與Host OS連結,搭配指定同網段IP的方式來做,但這樣的方式會讓所有區網內的使用者都可以連上Guest OS。只是想在Guest OS上寫寫code應該不用昭告天下吧!
所以為了達到讓Guest OS能夠上網,且同時只有Host OS可以用Samba分享透過內部網路存取Guest OS上的資料,要如何達成呢?

以下用VirtualBox下設置為例
Host OS : Win 7 64bit
Guest OS : Ubuntu 12.04.3 LTS
首先設置VirtualBox網路卡設定